2013-10-17 69 views
1

我試圖將MS Access查詢轉換爲MySQL,並且問題是將MS Access top轉換爲MySQL limit以獲得相同結果。當我將查詢更改爲limit時,出現此版本的MySQL在子查詢中不支持limit的錯誤。在子查詢中將MS Access「TOP」轉換爲MySQL「LIMIT」

這是MS Access查詢:

SELECT a.FK_CONTRIBUTOR_ID 
FROM tPUBLISHERS 
INNER JOIN (tCONTRIBUTORS AS b 
    INNER JOIN tCLIPS AS a ON b.CONTRIBUTOR_ID = a.FK_CONTRIBUTOR_ID) 
    ON tPUBLISHERS.PUBLISHER_ID = b.FK_PUBLISHER_ID 
WHERE ((a.CLIP_ID) In 
    (select top 5 CLIP_ID 
    from tCLIPS 
    where FK_CONTRIBUTOR_ID = a.FK_CONTRIBUTOR_ID 
     AND SUSPEND = a.SUSPEND)) 
    AND ((a.FK_CONTRIBUTOR_ID) In (1922,2034,2099)) 
+0

「當我將查詢更改爲」限制「時,出現此版本的MySQL在子查詢中不支持」限制「的錯誤。」 - 你使用的是什麼版本的MySQL? – Mureinik

+0

使用最新版本Mureinik,它是MySQL 5.6.14 –

+0

我沒有訪問這樣的構建,但我嘗試了[SqlFiddle]提供的MySQL 5.6.6和5.5.32(http://sqlfiddle.com/# !9/85c14/3/0),並且我在子查詢中的'limit'子句沒有任何問題。你能發佈完整的MySQL查詢和錯誤嗎? – Mureinik

回答

0

在此前回答: MySQL Subquery LIMIT

基本不變的子查詢到加入

谷歌更多與 「關於子查詢的MySQL限制」

+0

已從此處解答:http://grokbase.com/t/mysql/mysql/0826rjswmn/workaround-limit-in-subquery-not-allowed –