我有一個查詢,在我們的Firebird SQL數據模塊工作。火鳥到MySQL查詢遷移 - 選擇內部加入子查詢
我們遷移到MySQL和我的所有查詢工作沒有問題,除了這一個。
請幫我解決這個問題。我得到一個錯誤:
Failed to Execute. Unknown column 'part.id' in 'on clause'
我火鳥查詢:
SELECT vendor.name AS "Vendor Name",
Cast(Cast(vendorparts.lastdate AS date) AS CHAR(10)) AS "Last Date",
CASE product.price
WHEN '0' THEN 'CONFIRM'
WHEN NULL THEN 'CONFIRM'
ELSE Round(product.price, 2)
end AS "D-Price",
Cast(vendorparts.lastcost AS DECIMAL(18, 2)) AS "Last Cost",
Cast(lowestcost.lowestcost AS DECIMAL(18, 2)) AS "Lowest Cost",
Cast(highestcost.highestcost AS DECIMAL(18, 2)) AS "Highest Cost",
part.num AS "Part Number",
part.description AS "Part Description"
FROM vendor,
vendorparts,
part,
product
INNER JOIN (SELECT vendorparts.partid,
Max(vendorparts.lastcost) AS Highestcost
FROM vendorparts
GROUP BY vendorparts.partid) AS highestcost
ON part.id = highestcost.partid
INNER JOIN (SELECT vendorparts.partid,
Min(vendorparts.lastcost) AS Lowestcost
FROM vendorparts
GROUP BY vendorparts.partid) AS lowestcost
ON part.id = lowestcost.partid
WHERE vendor.id = vendorparts.vendorid
AND product.partid = part.id
AND vendorparts.partid = part.id
AND vendorparts.lastcost <> 0
所有表都在數據庫中,除了這是在子查詢創建lowestcost
和highestcost
。
希望我的要求清楚寫出來。但總結一下 - 我需要將這個可行的Firebird查詢遷移到MySQL中。
爲什麼這個工作在火鳥但不是MySQL?
不要混合使用逗號連接語法和內部連接語法.. –
我可以問你爲什麼遷移到MySQL? – skafinski
@skafinski我們的庫存管理系統剛剛在昨天更新爲新版本。整個系統從Firebird SQL遷移到MySQL。到目前爲止,性能提高得多,查詢編譯速度更快。 –