LEFT JOIN 将从左表返回所有行,保留不匹配的行。
SELECT 表名1.字段1, 表名2.字段2
FROM表名1
LEFT JOIN 表名2 ON 表名1.连接字段 = 表名2.连接字段
物料主数据列表,显示仓库名称、物料组名称等。
SQL语句如下:
SELECT TB1.ItmID, TB1.ItmName, TB1.WhsID, TB11.WhsName, TB1.ItmGrpID, TB12.ItmGrpName
FROM MDItm TB1
LEFT JOIN MDWhs TB11 ON TB1.WhsID = TB11.WhsID
LEFT JOIN MDItmGp TB12 ON TB1.ItmGrpID = TB12.ItmGrpID
一般都要使用LEFT JOIN,保证业务数据完整,基础资料缺失时,业务记录出现,但资料的名称为NULL。
获取采购订单对应采购收货信息,未做收货情况。
LEFT JOIN 连接语句如下:
SELECT TD1.DocNum, TD1.LineNum, TD1.ItmID, TD1.ItmName, TD1.Qty,
TD2.DocNum RevNum, TD2.LineNum RevLineNum
FROM PUOrdA TD1
LEFT JOIN PURevA TD2 ON TD1.DocEntry = TD2.BaseEntry AND TD1.LineNum = TD2.Base LineNum AND TD1.ObjType = TD2.BaseType
结果:
INNER JOIN 连接语句如下:
SELECT TD1.DocNum, TD1.LineNum, TD1.ItmID, TD1.ItmName, TD1.Qty,
TD2.DocNum RevNum, TD2.LineNum RevLineNum
FROM PUOrdA TD1
INNER JOIN PURevA TD2 ON TD1.DocEntry = TD2.BaseEntry AND TD1.LineNum = TD2.Base LineNum AND TD1.ObjType = TD2.BaseType
结果: