「is_featured」列を共有する 2 つの異なるテーブルがあります。「is_featured」がチェックされているすべてのコンテンツを選択し、結果を「date_display」desc で並べ替える必要があります。
PHOTOS
item_name | date_display | is_featured
photo1 | 01-02-13 | yes
photo2 | 02-12-13 | yes
photo6 | 06-24-12 | no
photo23 | 09-24-12 | no
VIDEOS
item_name | date_display | is_featured
video5 | 01-14-13 | no
video10 | 03-09-13 | no
video30 | 03-21-13 | yes
video17 | 11-14-12 | yes
DESIRED RESULTS - All FEATURED CONTENT Sorted by Date DESC
item_name | date_display | is_featured
video30 | 03-21-13 | yes
photo2 | 02-12-13 | yes
photo1 | 01-02-13 | yes
video17 | 11-14-12 | yes
この UNION クエリで目的の結果を得ることができます。
SELECT *
FROM (SELECT item_name, date_display
FROM photos
WHERE is_featured='yes'
UNION
SELECT item_name, date_display
FROM videos
WHERE is_featured='yes'
) x
ORDER BY date_display DESC
今必要なのは、各テーブルの item_names に一意の識別子を追加できるようにすることです。例: photos.item_name および videos.item_name。
私が持っているクエリでそれは可能ですか?
最終的に次のようなことをする必要があります: If (item_name is from Photos table) { do this }