Sql server 从两个表中选择数据

Sql server 从两个表中选择数据,sql-server,Sql Server,我有两张桌子,tab_广告和tab_照片,每个广告可以有五张照片或任何照片 结构: tab_广告 广告标识 广告标题 描述 tab_照片 博士 ph_径 广告标识 我正在尝试进行选择,选择tab_广告的所有列和tab_照片上的第一张照片每个广告id,如果在tab_照片上找不到广告id,则应返回NULL 示例:返回广告id、广告标题、广告描述、PHU id、PHU路径 尝试左连接如果数据(即ad_id)不可用,则会将tab_照片的值设置为空: SELECT ad.ad_id, ad.ad_titl

我有两张桌子,tab_广告和tab_照片,每个广告可以有五张照片或任何照片

结构:

tab_广告

广告标识 广告标题 描述 tab_照片

博士 ph_径 广告标识 我正在尝试进行选择,选择tab_广告的所有列和tab_照片上的第一张照片每个广告id,如果在tab_照片上找不到广告id,则应返回NULL

示例:返回广告id、广告标题、广告描述、PHU id、PHU路径

尝试左连接如果数据(即ad_id)不可用,则会将tab_照片的值设置为空:

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
尝试左连接如果数据(即ad_id)不可用,则会将tab_照片的值设置为空:

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
使用相关子查询,因此您希望从第二个表中选择顶部照片

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    
使用相关子查询,因此您希望从第二个表中选择顶部照片

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    

当tab_photos包含一个广告id的多张照片时,此结果是否为多行?当tab_photos包含一个广告id的多张照片时,此结果是否为多行??