<?xml version="1.0"?>

<custom-sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityCounterFinder.countU_ByG_C_N_S_E">
		<![CDATA[
			SELECT
				COUNT(DISTINCT classPK) AS COUNT_VALUE
			FROM
				SocialActivityCounter
			INNER JOIN
				User_ ON
					(SocialActivityCounter.classPK = User_.userId)
			WHERE
				(groupId = ?) AND
				(classNameId = ?) AND
				(name IN ([$NAME$])) AND
				(startPeriod + ? >= ?) AND
				(endPeriod = -1) AND
				(User_.defaultUser != [$TRUE$]) AND
				(User_.status = 0)
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityCounterFinder.findAC_ByG_N_S_E_1">
		<![CDATA[
			SELECT
				name, SUM(currentValue) currentValue, startPeriod, endPeriod
			FROM
				SocialActivityCounter
			WHERE
				(groupId = ?) AND
				(name = ?) AND
				(startPeriod >= ?) AND
				(startPeriod <= ?) AND
				(startPeriod + ? <= ?)
			GROUP BY
				name, startPeriod, endPeriod
			ORDER BY
				startPeriod
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityCounterFinder.findAC_ByG_N_S_E_2">
		<![CDATA[
			SELECT
				classNameId, name, SUM(currentValue) currentValue
			FROM
				SocialActivityCounter
			WHERE
				(groupId = ?) AND
				(name = ?) AND
				(startPeriod >= ?) AND
				(startPeriod <= ?) AND
				(startPeriod + ? <= ?)
			GROUP BY
				classNameId, name
			ORDER BY
				currentValue DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityCounterFinder.findAC_By_G_C_C_N_S_E">
		<![CDATA[
			SELECT
				{SocialActivityCounter.*}
			FROM
				SocialActivityCounter
			WHERE
				(groupId = ?) AND
				(classNameId = ?) AND
				(classPK IN ([$CLASS_PK$])) AND
				(name IN ([$NAME$])) AND
				(endPeriod = -1)
			ORDER BY
				classPK
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityCounterFinder.findU_ByG_C_N_S_E">
		<![CDATA[
			SELECT
				classPK
			FROM
				SocialActivityCounter
			INNER JOIN
				User_ ON
					(SocialActivityCounter.classPK = User_.userId)
			WHERE
				(groupId = ?) AND
				(classNameId = ?) AND
				(name IN ([$NAME$])) AND
				(startPeriod >= ?) AND
				(endPeriod = -1) AND
				(User_.defaultUser != [$TRUE$]) AND
				(User_.status = 0)
			GROUP BY
				classPK
			ORDER BY
				SUM(currentValue) DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.countByGroupId">
		<![CDATA[
			SELECT
				COUNT(*) AS COUNT_VALUE
			FROM
				SocialActivity
			WHERE
				(groupId = ?) AND
				(mirrorActivityId = 0)
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.countByGroupUsers">
		<![CDATA[
			SELECT
				COUNT(*) AS COUNT_VALUE
			FROM
				SocialActivity
			INNER JOIN
				Users_Groups ON
					(Users_Groups.userId = SocialActivity.userId)
			WHERE
				(SocialActivity.mirrorActivityId = 0) AND
				(Users_Groups.groupId = ?)
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.countByOrganizationId">
		<![CDATA[
			SELECT
				COUNT(*) AS COUNT_VALUE
			FROM
				SocialActivity
			INNER JOIN
				Group_ ON
					(Group_.groupId = SocialActivity.groupId)
			INNER JOIN
				Organization_ ON
					(Organization_.organizationId = Group_.classPK)
			WHERE
				(SocialActivity.mirrorActivityId = 0) AND
				(Organization_.organizationId = ?)
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.countByOrganizationUsers">
		<![CDATA[
			SELECT
				COUNT(*) AS COUNT_VALUE
			FROM
				SocialActivity
			INNER JOIN
				Users_Orgs ON
					(Users_Orgs.userId = SocialActivity.userId)
			WHERE
				(SocialActivity.mirrorActivityId = 0) AND
				(Users_Orgs.organizationId = ?)
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.countByRelation">
		<![CDATA[
			SELECT
				COUNT(DISTINCT SocialActivity.activityId) AS COUNT_VALUE
			FROM
				SocialActivity
			INNER JOIN
				SocialRelation ON
					(SocialRelation.userId2 = SocialActivity.userId)
			WHERE
				(SocialRelation.userId1 = ?)
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.countByRelationType">
		<![CDATA[
			SELECT
				COUNT(SocialActivity.activityId) AS COUNT_VALUE
			FROM
				SocialActivity
			INNER JOIN
				SocialRelation ON
					(SocialRelation.userId2 = SocialActivity.userId)
			WHERE
				(SocialActivity.mirrorActivityId = 0) AND
				(SocialRelation.userId1 = ?) AND
				(SocialRelation.type_ = ?)
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.countByUserGroups">
		<![CDATA[
			SELECT
				COUNT(*) AS COUNT_VALUE
			FROM
				SocialActivity
			WHERE
				(
					groupId IN (
						SELECT
							groupId
						FROM
							Users_Groups
						WHERE
							userId = ?
					)
				) AND
				(mirrorActivityId = 0)
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.countByUserGroupsAndOrganizations">
		<![CDATA[
			(
				SELECT
					COUNT(*) AS COUNT_VALUE
				FROM
					SocialActivity
				WHERE
					(
						groupId IN (
							SELECT
								groupId
							FROM
								Users_Groups
							WHERE
								userId = ?
						)
					) AND
					(mirrorActivityId = 0)
			)
			UNION ALL
			(
				SELECT
					COUNT(*) AS COUNT_VALUE
				FROM
					SocialActivity
				INNER JOIN
					Group_ ON
						(Group_.groupId = SocialActivity.groupId)
				INNER JOIN
					Organization_ ON
						(Organization_.organizationId = Group_.classPK)
				WHERE
					(SocialActivity.mirrorActivityId = 0) AND
					(
						Organization_.organizationId IN (
							SELECT
								organizationId
							FROM
								Users_Orgs
							WHERE
								Users_Orgs.userId = ?
						)
					)
			)
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.countByUserOrganizations">
		<![CDATA[
			SELECT
				COUNT(*) AS COUNT_VALUE
			FROM
				SocialActivity
			INNER JOIN
				Group_ ON
					(Group_.groupId = SocialActivity.groupId)
			INNER JOIN
				Organization_ ON
					(Organization_.organizationId = Group_.classPK)
			WHERE
				(SocialActivity.mirrorActivityId = 0) AND
				(
					Organization_.organizationId IN (
						SELECT
							organizationId
						FROM
							Users_Orgs
						WHERE
							Users_Orgs.userId = ?
					)
				)
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.findByGroupId">
		<![CDATA[
			SELECT
				{SocialActivity.*}
			FROM
				SocialActivity
			WHERE
				(groupId = ?) AND
				(mirrorActivityId = 0)
			ORDER BY
				createDate DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.findByGroupUsers">
		<![CDATA[
			SELECT
				{SocialActivity.*}
			FROM
				SocialActivity
			INNER JOIN
				Users_Groups ON
					(Users_Groups.userId = SocialActivity.userId)
			WHERE
				(SocialActivity.mirrorActivityId = 0) AND
				(Users_Groups.groupId = ?)
			ORDER BY
				SocialActivity.createDate DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.findByOrganizationId">
		<![CDATA[
			SELECT
				{SocialActivity.*}
			FROM
				SocialActivity
			INNER JOIN
				Group_ ON
					(Group_.groupId = SocialActivity.groupId)
			INNER JOIN
				Organization_ ON
					(Organization_.organizationId = Group_.classPK)
			WHERE
				(SocialActivity.mirrorActivityId = 0) AND
				(Organization_.organizationId = ?)
			ORDER BY
				SocialActivity.createDate DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.findByOrganizationUsers">
		<![CDATA[
			SELECT
				{SocialActivity.*}
			FROM
				SocialActivity
			INNER JOIN
				Users_Orgs ON
					(Users_Orgs.userId = SocialActivity.userId)
			WHERE
				(SocialActivity.mirrorActivityId = 0) AND
				(Users_Orgs.organizationId = ?)
			ORDER BY
				SocialActivity.createDate DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.findByRelation">
		<![CDATA[
			SELECT
				DISTINCT {SocialActivity.*}
			FROM
				SocialActivity
			INNER JOIN
				SocialRelation ON
					(SocialRelation.userId2 = SocialActivity.userId)
			WHERE
				(SocialRelation.userId1 = ?)
			ORDER BY
				SocialActivity.createDate DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.findByRelationType">
		<![CDATA[
			SELECT
				{SocialActivity.*}
			FROM
				SocialActivity
			INNER JOIN
				SocialRelation ON
					(SocialRelation.userId2 = SocialActivity.userId)
			WHERE
				(SocialActivity.mirrorActivityId = 0) AND
				(SocialRelation.userId1 = ?) AND
				(SocialRelation.type_ = ?)
			ORDER BY
				SocialActivity.createDate DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.findByUserGroups">
		<![CDATA[
			SELECT
				{SocialActivity.*}
			FROM
				SocialActivity
			WHERE
				(
					groupId IN (
						SELECT
							groupId
						FROM
							Users_Groups
						WHERE
							userId = ?
					)
				) AND
				(mirrorActivityId = 0)
			ORDER BY
				createDate DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.findByUserGroupsAndOrganizations">
		<![CDATA[
			SELECT
				TEMP_TABLE.*
			FROM
			(
				SELECT
					SocialActivity.activityId AS activityId, SocialActivity.createDate AS createDate
				FROM
					SocialActivity
				WHERE
					(
						groupId IN (
							SELECT
								groupId
							FROM
								Users_Groups
							WHERE
								userId = ?
						)
					) AND
					(mirrorActivityId = 0)

				UNION ALL

				SELECT
					SocialActivity.activityId AS activityId, SocialActivity.createDate AS createDate
				FROM
					SocialActivity
				INNER JOIN
					Group_ ON
						(Group_.groupId = SocialActivity.groupId)
				INNER JOIN
					Organization_ ON
						(Organization_.organizationId = Group_.classPK)
				WHERE
					(SocialActivity.mirrorActivityId = 0) AND
					(
						Organization_.organizationId IN (
							SELECT
								organizationId
							FROM
								Users_Orgs
							WHERE
								Users_Orgs.userId = ?
						)
					)
			) TEMP_TABLE
			ORDER BY
				createDate DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.social.service.persistence.SocialActivityFinder.findByUserOrganizations">
		<![CDATA[
			SELECT
				{SocialActivity.*}
			FROM
				SocialActivity
			INNER JOIN
				Group_ ON
					(Group_.groupId = SocialActivity.groupId)
			INNER JOIN
				Organization_ ON
					(Organization_.organizationId = Group_.classPK)
			WHERE
				(SocialActivity.mirrorActivityId = 0) AND
				(
					Organization_.organizationId IN (
						SELECT
							organizationId
						FROM
							Users_Orgs
						WHERE
							Users_Orgs.userId = ?
					)
				)
			ORDER BY
				SocialActivity.createDate DESC
		]]>
	</sql>
</custom-sql>