Tsql 可以使用内联sql创建外部联接吗
我需要使用内联sql创建外部联接。我想不出来Tsql 可以使用内联sql创建外部联接吗,tsql,outer-join,Tsql,Outer Join,我需要使用内联sql创建外部联接。我想不出来 select el.emp_number,el.first_name,el.last_name,e.job_desc_abbr as item_description, el.level_one,el.level_one_firstname,el.level_one_lastname, el.level_two, el.level_two_firstname,el.level_two_lastname, el.level_three,el.level
select el.emp_number,el.first_name,el.last_name,e.job_desc_abbr as item_description,
el.level_one,el.level_one_firstname,el.level_one_lastname,
el.level_two,
el.level_two_firstname,el.level_two_lastname,
el.level_three,el.level_three_firstname,el.level_three_lastname
from emp_level el,emp_information_test e
right join (select empid,job_desc_abbr from emp_information_test) level1 on level1.empid = el.level_one <--- Error
where el.emp_number = e.empid
and e.deptno <> '999'
and e.empid in ('547787','253010')
Msg 4104,16级,状态1,第7行
无法绑定多部分标识符el.level_one
我不确定这是否可能。我需要语法方面的帮助。谢谢正如我在评论中所写,您的问题是隐式连接和显式连接的混合。 由于显式连接已经成为ANSI-SQL的一部分近30年了,因此实际上不再需要使用隐式连接 以下是select语句的工作版本:
SELECT el.emp_number
,el.first_name
,el.last_name
,e.job_desc_abbr AS item_description
,el.level_one
,el.level_one_firstname
,el.level_one_lastname
,el.level_two
,el.level_two_firstname
,el.level_two_lastname
,el.level_three
,el.level_three_firstname
,el.level_three_lastname
FROM emp_level AS el
JOIN emp_information_test AS e
ON el.emp_number = e.empid
RIGHT JOIN (
SELECT empid
,job_desc_abbr
FROM emp_information_test
) AS level1
ON level1.empid = el.level_one
WHERE e.deptno <> '999'
AND e.empid IN ('547787','253010')
你的查询似乎不完整。您应该在开始处有SELECT关键字。您正在混合隐式连接和显式连接。不要。只使用显式联接,或者追溯到上一个千年,那时隐式联接仍然被认为是有效的。如果需要更改问题,请使用。请不要在注释中发布代码。旁白:为表提供DDL不会有什么坏处。请避免使用注释添加问题的缺失部分。取而代之的是,问题本身下面还有一个编辑链接。嗨,谢谢。我感谢你的帮助。