[英]SQL after join the multiple tables get all data in left joined
表格1
OCS类型ID | OCNum | 颜色名称 | 订购数量 |
---|---|---|---|
220009069 | 106307.1 | 黑色的 | 200 |
220009069 | 106307.1 | 蓝色的 | 200 |
220009069 | 106307.1 | 棕色的 | 4 |
220009069 | 106307.1 | 深绿色 | 240 |
220009069 | 106307.1 | 白色的 | 20 |
表 2
样式ID | 颜色名称 | 材料 |
---|---|---|
220009069 | 黑色的 | 面料-(ITL-FC) |
220009069 | 蓝色的 | 面料-(ITL-FC) |
220009069 | 深绿色 | 面料-(ITL-FC) |
220009069 | 白色的 | 面料-(ITL-FC) |
我需要加入两个表并显示如下数据
OCS类型ID | OCNum | 颜色名称 | 订购数量 | 样式ID | 颜色名称 | 材料 |
---|---|---|---|---|---|---|
220009069 | 106307.1 | 黑色的 | 200 | 220009069 | 黑色的 | 面料-(ITL-FC) |
220009069 | 106307.1 | 蓝色的 | 200 | 220009069 | 蓝色的 | 面料-(ITL-FC) |
220009069 | 106307.1 | 棕色的 | 4 | 220009069 | ||
220009069 | 106307.1 | 深绿色 | 240 | 220009069 | 深绿色 | 面料-(ITL-FC) |
220009069 | 106307.1 | 白色的 | 20 | 220009069 | 白色的 | 面料-(ITL-FC) |
只需 LEFT JOIN 表 2 到表 1
SELECT DISTINCT
t1.OCStypeID
, t1.OCNum
, t1.ColorName
, t1.Orderqty
, t2.StyleID
, t2.ColorName AS "ColorName2"
, t2.Material
FROM Table1 AS t1
LEFT JOIN Table2 AS t2
ON t2.StyleID = t1.OCStypeID
AND ( t2.ColorName = t1.ColorName
OR t2.ColorName IS NULL
OR LTRIM(t2.ColorName) = ''
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.