content
と結合されたテーブルがありますcontent_image
。1 つの に対して異なるイメージが存在する場合がありますcontent_id
。によると、ケースで結合したいimage_size
。
つまり、3 つの異なる画像サイズを持つ 1 つのコンテンツがあります。しかし、これらの画像は別のテーブルにあるため、1 つの出力で 3 つの異なる画像を含む 1 つのコンテンツのみを表示したいと考えています。
とにかく、私の説明でコードがより明確になることを願っています:
SELECT C.CHAPTER_ID,CH.CHAPTER,C.CONTENT_ID,
C.CONT_HEAD AS NAME,
SMALL=(CASE WHEN CI.IMAGE_SIZE=0 THEN CONTIMAGE_SMALL END),
BIG=(CASE WHEN CI.IMAGE_SIZE=2 THEN CONTIMAGE_SMALL END),
C.UPDATE_DATE,
C.RECORD_DATE
FROM CONTENT C
LEFT OUTER JOIN CONTENT_CHAPTER CH ON C.CHAPTER_ID = CH.CHAPTER_ID
LEFT OUTER JOIN CONTENT_IMAGE CI ON CI.CONTENT_ID=C.CONTENT_ID
WHERE CH.CONTENTCAT_ID = 14
ORDER BY C.UPDATE_DATE DESC,C.RECORD_DATE DESC
および出力コード:
<cfoutput query="get_images">
<a class="highslide" target="_blank" onclick="return hs.expand(this, { slideshowGroup: 1 } )" href="/documents/content/#big#"><img src="/documents/content/#small#" title="#name#" border="0" /></a>
</cfoutput>
問題は、これが 2 つの出力を生成することです。最初のものでは、big
値のみが取り込まれます。2 番目のものでは、small
値のみが入力されます。cfoutput をグループ化content_id
すると、単一の結果が生成されますが、big
値のみが定義されています:)しかし、と値の両方が定義された単一の出力が必要です。big
small
助けてくれてありがとう!