我有以下原始 mysql 查詢
select *, r.ReviewId AS ActualReviewId, r.DateCreated AS ActualDateCreated from review r LEFT join reviewphoto rp ON r.ReviewId = rp.ReviewId where r.DishId = ?
UNION
select *, r.ReviewId AS ActualReviewId, r.DateCreated AS ActualDateCreated from review r RIGHT join reviewphoto rp ON r.ReviewId = rp.ReviewId where r.DishId = ?
我正在嘗試添加 order by 以便我可以按日期對資料進行排序,但它給了我以下錯誤
#1250 - Table 'rp' from one of the SELECTs cannot be used in ORDER clause
以下是修改后的查詢:
(select *, r.ReviewId AS ActualReviewId, r.DateCreated AS ActualDateCreated from review r LEFT join reviewphoto rp ON r.ReviewId = rp.ReviewId where r.DishId = 46)
UNION
(select *, r.ReviewId AS ActualReviewId, r.DateCreated AS ActualDateCreated from review r RIGHT join reviewphoto rp ON r.ReviewId = rp.ReviewId where r.DishId = 46) order by rp.DateCreated desc
uj5u.com熱心網友回復:
如果您從ORDER BY子句中洗掉別名,您的最后一個查詢應該可以作業:
(SELECT *, r.ReviewId AS ActualReviewId, r.DateCreated AS ActualDateCreated
FROM review r
LEFT JOIN reviewphoto rp ON r.ReviewId = rp.ReviewId
WHERE r.DishId = 46)
UNION
(SELECT *, r.ReviewId, r.DateCreated
FROM review r
RIGHT JOIN reviewphoto rp ON r.ReviewId = rp.ReviewId
WHERE r.DishId = 46)
ORDER BY ActualDateCreated DESC;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/361080.html
上一篇:聯結器命令失敗,退出代碼為1(使用-v查看呼叫)-僅適用于構建的應用中心
下一篇:Mysql在特定匹配后選擇X行
