所以我想在MS Access 2003上完全加入,但发现它不支持它。所以我尝试了两个select语句,然后使用LEFT连接并使用相同的语句创建一个UNION,但使用RIGHT连接。 Access给了我一个错误,说JOIN命令有问题。继承人一些SQL ...MS Access上的完全加入
SELECT tbl_Vendors.VendorName, tbl_Inventory.ItemNum,
tbl_Inventory.Color, tbl_Inventory.InInventory,
tbl_Inventory.OutInventory,
(tbl_Inventory.Stocks + tbl_Inventory.InInventory -
tbl_Inventory.OutInventory) AS Balance,
tbl_Inventory.Weight, tbl_Inventory.CF,
(tbl_Inventory.Weight *Balance) AS TotalWeight,
(tbl_Inventory.CF * Balance) AS TotalCF,
tbl_Inventory.NoteOrder, tbl_ItemHistory.orderDate,
tbl_ItemHistory.POHistory, tbl_ItemHistory.InorOut,
tbl_ItemHistory.Unit
FROM (tbl_Vendors INNER JOIN tbl_Inventory
ON tbl_Vendors.vid = tbl_Inventory.VendorID)
LEFT JOIN tbl_ItemHistory
ON tbl_Inventory.ItemNum = tbl_ItemHistory.ItemNum
ORDER BY tbl_Inventory.ItemNum, tbl_ItemHistory.orderDate
对不起,如果这不是在代码格式,访问SQL我猜只是普通文本。这是只有左连接。如果你有任何想法,请说出来。谢谢!
编辑:2步加入,
SELECT tbl_Vendors.VendorName, tbl_Inventory.ItemNum, tbl_Inventory.Color,
tbl_Inventory.InInventory, tbl_Inventory.OutInventory,
(tbl_Inventory.Stocks+tbl_Inventory.InInventory-tbl_Inventory.OutInventory) AS Balance,
tbl_Inventory.Weight, tbl_Inventory.CF, (tbl_Inventory.Weight*Balance) AS TotalWeight,
(tbl_Inventory.CF*Balance) AS TotalCF, tbl_Inventory.NoteOrder, tbl_ItemHistory.orderDate,
tbl_ItemHistory.POHistory, tbl_ItemHistory.InorOut, tbl_ItemHistory.Unit
FROM (tbl_Vendors INNER JOIN tbl_Inventory ON tbl_Vendors.vid = tbl_Inventory.VendorID) LEFT JOIN
tbl_ItemHistory ON tbl_Inventory.ItemNum = tbl_ItemHistory.ItemNum;
UNION ALL
SELECT tbl_Vendors.VendorName, tbl_Inventory.ItemNum, tbl_Inventory.Color,
tbl_Inventory.InInventory, tbl_Inventory.OutInventory,
(tbl_Inventory.Stocks+tbl_Inventory.InInventory-tbl_Inventory.OutInventory) AS Balance,
tbl_Inventory.Weight, tbl_Inventory.CF, (tbl_Inventory.Weight*Balance) AS TotalWeight,
(tbl_Inventory.CF*Balance) AS TotalCF, tbl_Inventory.NoteOrder, tbl_ItemHistory.orderDate,
tbl_ItemHistory.POHistory, tbl_ItemHistory.InorOut, tbl_ItemHistory.Unit
FROM (tbl_Vendors INNER JOIN tbl_Inventory ON tbl_Vendors.vid = tbl_Inventory.VendorID) RIGHT
JOIN tbl_ItemHistory ON tbl_Inventory.ItemNum = tbl_ItemHistory.ItemNum;
错误:不支持加入表达。第一段代码适合左外连接。我试了两个左连接,并工作。它只是没有采取我的权利加入...
做正确的JOIN一件正常工作本身......当UNION不包括ALL查询? – HansUp
您的字段列表包含一个表达式“AS Balance”,然后尝试在* other *字段表达式中引用Balance:TotalWeight;和TotalCF。把这两个放出去,直到其余的工作。如果错误信息是误导性的,并且实际的问题是数据库引擎对“Balance”感到困惑,这将是一个耻辱。 – HansUp
@HansUp感谢您的评论。我试过这个,它仍然没有工作,但使用你的理由我去拿出以前的内部联接,它的工作,我想访问不能处理太多联合在一起?不太确定,但我会做出独立的意见,然后做出一个完整的,希望这将是足够简单的计算感谢! –