, поэтому я пытаюсь выполнить полное объединение в MS Access 2003, но обнаружил, что оно не поддерживает его. Поэтому я попытался взять два моих оператора выбора и затем присоединиться к одному с помощью соединения LEFT и сделать UNION с тем же оператором, но с правом соединения. Access дал мне ошибку, сказав, что что-то не так с командой JOIN. Вот немного sql ...
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;
ошибка: выражение соединения не поддерживается. Первый кусок кода был хорош для левого внешнего соединения. Я попробовал два левых соединения, и это сработало. это просто не принимает мое право присоединиться ...