这是一个尴尬的问题!但是我现在还没有使用tsql一段时间。为什么我的内部连接不起作用
我有3个表:
- 工作
- 画廊
- JobWorkUnit
的Gallery
主键链接到相应的外键Job
。主键JobWorkUnit
链接到相应的外键Job
我希望返回Job
上的所有记录,而不管它们在其他2个表中是否有'链接'。
我以为用LEFT OUTER JOIN
就是这样做的,但是我根本没有得到任何记录。
有人可以检查我的代码吗?
SELECT
*
FROM
Job J
LEFT OUTER JOIN
Gallery G ON G.JobRef = J.JobRef
LEFT OUTER JOIN
JobWorkUnit JWU ON J.JobRef = JWU.JobRef
WHERE
J.Active = 1
AND G.Active = 1
AND JWU.Active = 1
AND J.CompanyRef = @CompanyRef
有在WorkUnit
或Gallery
没有记录,如果我删除:
AND G.Active = 1
AND JWU.Active = 1
我得到2条回来,我Where
子句重写我的连接类型。这是一个公平的事情吗?
'job'中是否有任何行?你有'where'条款吗?为什么标题询问内部连接? –
@MartinSmith感谢您的评论。是的,Jobin中有definatley行:)。我已经测试它没有使用连接,我得到2记录返回 –
但是,我确实有一个Where的原因,这就是这种情况,所以Iwill编辑我的问题。谢谢让我关注:) –