这是我的表格和这些表格的数据
表名:Code
CID Code
1 abc
2 def
3 xyz
表名:Details
ID Name CID
1 a 1
2 b 2
结果表:
ID Code Name
1 abc a
2 abc Null
3 def b
4 def Null
5 xyz Null
6 xyz Null
我需要从代码表中获取所有记录,并且针对每个代码,我必须从详细信息表中获取所有行,如果某些代码具有其所需值,如果没有,则为 Null
Thanks
听起来您正在寻找笛卡尔积:
SELECT
c.CID * d.ID AS ID,
c.Code,
CASE
WHEN c.CID = d.CID THEN d.Name
ELSE NULL
END AS Name
FROM Code c
CROSS JOIN Details d
尽管笛卡尔乘积对于较大的表来说相当慢......所以请确保这是您真正想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)