<?xml version="1.0"?>

<custom-sql>
	<sql id="com.liferay.portlet.announcements.service.persistence.AnnouncementsEntryFinder.countByHidden">
		<![CDATA[
			SELECT
				DISTINCT COUNT(*) AS COUNT_VALUE
			FROM
				AnnouncementsEntry
			LEFT JOIN
				AnnouncementsFlag ON
					(AnnouncementsFlag.entryId = AnnouncementsEntry.entryId)
			WHERE
				([$CLASS_PKS$]) AND
				(AnnouncementsEntry.displayDate <= ? [$AND_OR_NULL_CHECK$]) AND
				(AnnouncementsEntry.expirationDate >= ? [$AND_OR_NULL_CHECK$]) AND
				(AnnouncementsEntry.alert = ?) AND
				(AnnouncementsFlag.userId = ?) AND
				(AnnouncementsFlag.value = ?)
		]]>
	</sql>
	<sql id="com.liferay.portlet.announcements.service.persistence.AnnouncementsEntryFinder.countByNotHidden">
		<![CDATA[
			SELECT
				DISTINCT COUNT(*) AS COUNT_VALUE
			FROM
				AnnouncementsEntry
			WHERE
				([$CLASS_PKS$]) AND
				(AnnouncementsEntry.displayDate <= ? [$AND_OR_NULL_CHECK$]) AND
				(AnnouncementsEntry.expirationDate >= ? [$AND_OR_NULL_CHECK$]) AND
				(AnnouncementsEntry.alert = ?) AND
				(AnnouncementsEntry.entryId NOT IN
					(
						SELECT
							DISTINCT AnnouncementsFlag.entryId
						FROM
							AnnouncementsFlag
						WHERE
							(AnnouncementsFlag.entryId = AnnouncementsEntry.entryId) AND
							(AnnouncementsFlag.userId = ?) AND
							(AnnouncementsFlag.value = ?)
					)
				)
		]]>
	</sql>
	<sql id="com.liferay.portlet.announcements.service.persistence.AnnouncementsEntryFinder.findByDisplayDate">
		<![CDATA[
			SELECT
				{AnnouncementsEntry.*}
			FROM
				AnnouncementsEntry
			WHERE
				(displayDate >= ?) AND
				(displayDate <= ?)
		]]>
	</sql>
	<sql id="com.liferay.portlet.announcements.service.persistence.AnnouncementsEntryFinder.findByHidden">
		<![CDATA[
			SELECT
				DISTINCT {AnnouncementsEntry.*}
			FROM
				AnnouncementsEntry
			LEFT JOIN
				AnnouncementsFlag ON
					(AnnouncementsFlag.entryId = AnnouncementsEntry.entryId)
			WHERE
				([$CLASS_PKS$]) AND
				(AnnouncementsEntry.displayDate <= ? [$AND_OR_NULL_CHECK$]) AND
				(AnnouncementsEntry.expirationDate >= ? [$AND_OR_NULL_CHECK$]) AND
				(AnnouncementsEntry.alert = ?) AND
				(AnnouncementsFlag.userId = ?) AND
				(AnnouncementsFlag.value = ?)
			ORDER BY
				AnnouncementsEntry.priority DESC,
				AnnouncementsEntry.modifiedDate DESC
		]]>
	</sql>
	<sql id="com.liferay.portlet.announcements.service.persistence.AnnouncementsEntryFinder.findByNotHidden">
		<![CDATA[
			SELECT
				DISTINCT {AnnouncementsEntry.*}
			FROM
				AnnouncementsEntry
			WHERE
				([$CLASS_PKS$]) AND
				(AnnouncementsEntry.displayDate <= ? [$AND_OR_NULL_CHECK$]) AND
				(AnnouncementsEntry.expirationDate >= ? [$AND_OR_NULL_CHECK$]) AND
				(AnnouncementsEntry.alert = ?) AND
				(AnnouncementsEntry.entryId NOT IN
					(
						SELECT
							DISTINCT AnnouncementsFlag.entryId
						FROM
							AnnouncementsFlag
						WHERE
							(AnnouncementsFlag.entryId = AnnouncementsEntry.entryId) AND
							(AnnouncementsFlag.userId = ?) AND
							(AnnouncementsFlag.value = ?)
					)
				)
			ORDER BY
				AnnouncementsEntry.priority DESC,
				AnnouncementsEntry.modifiedDate DESC
		]]>
	</sql>
</custom-sql>