我有两张桌子,tab_ad
和tab_photos
,每个广告可以有五张照片(或任何)。
结构:
tab_ad
- ad_id
- ad_title
- ad_desc
tab_photos
- ph_id
- ph_path
- ad_id
我正在尝试选择tab_ad
的所有列以及tab_photos
上的第一张照片(每个ad_id),如果我在{{1}上找不到ad_id应该返回 NULL 。
示例:返回ad_id,ad_title,ad_desc,ph_id,ph_path
答案 0 :(得分:3)
如果数据(即LEFT JOIN
)在那里不可用,请尝试tab_photos
它会将NULL
的值设为ad_id
:
SELECT ad.ad_id, ad.ad_title, ad.ad_desc, ph.ph_id, ph.ph_path
FROM tab_ad ad
LEFT JOIN tab_photos ph
ON ad.ad_id = ph.ad_id
答案 1 :(得分:1)
使用correlated sub query
因此您要从第二个表格中选择top photo
。
SELECT
ad_id,
ad_title,
ad_desc,
(SELECT TOP(1)ph_path FROM tab_photos b WHERE b.ad_id=a.ad_ID)
FROM tab_ad a