这是我的表格和这些表格的数据
表名:代码
CID Code
1 abc
2 def
3 xyz
表名:详细信息
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
谢谢
答案 0 :(得分:3)
听起来你正在寻找笛卡尔积:
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
虽然大型餐桌的笛卡尔产品速度很慢......所以请确保这是您真正想要的。