以下查詢在MySQL 5.x中運行良好MySQL的左連接的子查詢失敗
SELECT
m_area.id, m_area.cn_areaName, m_area.de_areaName,
m_area.en_areaName,m_area.jp_areaName,t_shop.count
FROM
m_area left join
(
select t_shop.areaID, count(areaID) AS count
from t_shop
group by t_shop.areaID
) t_shop
on m_area.id = t_shop.areaID
然而,當我必須在4.0.23 MySQL數據庫具有相同的結構數據庫,它只是返回下面的消息數據運行:
1064 - 您的SQL語法錯誤。檢查對應於你的MySQL服務器版本使用附近的正確語法手冊「[
select t_shop.areaID, count(areaID) AS count from t_s
我試過很多次,但還是失敗了。是否加入MySQL 4.x中不允許的子查詢?那意味着我必須用臨時表來完成它?
在此先感謝!
你是對的我只能用temp選項卡做 DROP TEMPORARY TABLE IF EXISTS temp_shop; CREATE TEMPORARY TABLE temp_shop(areaID int(11),count int(11)); INSERT INTO temp_shop select t_shop。areaID表示,從由t_shop.areaID t_shop \t \t \t \t組計數(areaID表示)AS計數 \t \t \t \t; 選擇 \t \t \t \t m_area.id,m_area.cn_areaName,m_area.de_areaName, \t \t \t \t m_area.en_areaName,m_area.jp_areaName,temp_shop.count \t \t \t \t FROM \t \t \t \t m_area左連接temp_shop \t \t \t \t on m_area.id = temp_shop.areaID; 有時我們必須編寫一些舊機器,這是非常痛苦的。 – 2010-02-19 19:09:01