這是從MSSQL轉換到MySql。以下是我試圖開始工作的代碼:幫我用這個MySql完全外連接(或聯合)
CREATE TEMPORARY TABLE PageIndex (
IndexId int AUTO_INCREMENT NOT NULL PRIMARY KEY,
ItemId VARCHAR(64)
);
INSERT INTO PageIndex (ItemId)
SELECT Paths.PathId
FROM Paths,
((SELECT Paths.PathId
FROM AllUsers, Paths
WHERE Paths.ApplicationId = @ApplicationId
AND AllUsers.PathId = Paths.PathId
AND (@Path IS NULL
OR Paths.LoweredPath LIKE LOWER(@Path))) AS SharedDataPerPath
UNION -- This used to be a FULL OUTER JOIN but MySQL doesnt support that.
(SELECT DISTINCT Paths.PathId
FROM PerUser, Paths
WHERE Paths.ApplicationId = @ApplicationId
AND PerUser.PathId = Paths.PathId
AND (@Path IS NULL
OR Paths.LoweredPath LIKE LOWER(@Path))) AS UserDataPerPath
ON SharedDataPerPath.PathId = UserDataPerPath.PathId)
WHERE Paths.PathId = SharedDataPerPath.PathId OR Paths.PathId = UserDataPerPath.PathId
ORDER BY Paths.Path ASC;
假設任何變量已存在。如果這是破壞是在'作爲SharedDataPerPath'的一部分,所以我猜我濫用選擇語句,以便您可以像MySQL中不支持表一樣訪問它?如果表格模式有幫助,請回複評論,我會將其添加到問題中。
在此先感謝!
可以投給此功能來實現[MySQL的](http://bugs.mysql.com/bug.php?id=18003&thanks=3¬ify=67 ) – 2012-06-11 14:44:13