简体   繁体   English

SQL语句连接语句

[英]SQL statement join statement

I am stumped on creating a SQL server query. 我为创建SQL Server查询而感到困惑。 I have two tables shown below with a one to many relationship. 我下面显示了两个表,它们之间存在一对多的关系。 I want to pull all activities and include the child pictures if/where IsPrimary = true . 我想进行所有活动并在if / where IsPrimary = true包含子图片。

SELECT dbo.Activity.ID, dbo.Activity.Details, dbo.ActivityPicture.DateUploaded, dbo.ActivityPicture.IsPrimaryPicture, dbo.ActivityPicture.ImageData
FROM dbo.ReportTask 
INNER JOIN dbo.ActivityPicture ON dbo.Activity.ID = dbo.ActivityPicture .ActivityID AND dbo.ActivityPicture.IsPrimaryPicture = 'true'

Activity -ID -Details 活动 -ID-详细信息

ActivityPicture -ImageLocation -Description -DateUploaded -IsPrimary -ActivityID ActivityPicture -ImageLocation-说明-DateUploaded -IsPrimary -ActivityID

Change your INNER JOIN to a LEFT OUTER JOIN . 将您的INNER JOIN更改为LEFT OUTER JOIN This will return all items from the first table regardless of whether they have child items in the 2nd table. 这将返回第一个表中的所有项目,无论它们是否在第二个表中都有子项目。

SELECT dbo.Activity.ID, dbo.Activity.Details, dbo.ActivityPicture.DateUploaded, dbo.ActivityPicture.IsPrimaryPicture, dbo.ActivityPicture.ImageData FROM dbo.ReportTask LEFT JOIN dbo.ActivityPicture ON dbo.Activity.ID = dbo.ActivityPicture .ActivityID AND dbo.ActivityPicture.IsPrimaryPicture = 'true'

这将返回所有活动对象,并在其中包含true的ActivityPicture.IsPrimaryPicture。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM