2017-10-04 39 views
0

對不起,新手在這裏,但我無法讓這個查詢工作,如果有一個更簡單的方法來做到這一點,我將不勝感激反饋,謝謝。與多個AND運營商的MySQL查詢語法問題

SELECT players.FirstName, players.LastName, stats.PtsPerGame, 
stats.AstPerGame, stats.RebPerGame, stats.StlPerGame, stats.BlkPerGame 
WHERE stats.PtsPerGame >= 20 
AND stats.AstPerGame >= 3 
AND stats.RebPerGame >= 3 
AND stats.StlPerGame >= 2 
AND stats.BlkPerGame >= 1 
From players 
INNER JOIN stats 
ON players.PlayerID = stats.PID 
ORDER BY stats.PtsPerGame DESC; 

我得到這個錯誤:

1064 - 你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本正確的語法附近使用手冊 'WHERE stats.PtsPerGame> = 20

和stats.AstPerGame> = 3 和stats.RebPerGame' 第2行

+0

你缺少'FROM' – Ravi

+1

你的幾個部分的正確順序是'選擇... .. ....加入.... where ... order by'。不是'select ... where ... from ... join ... order by' – Solarflare

+0

作品很有魅力,謝謝 – user2012105

回答

0

在哪裏後from tablename

SELECT players.FirstName, players.LastName, stats.PtsPerGame, stats.AstPerGame, stats.RebPerGame, stats.StlPerGame, stats.BlkPerGame From players INNER JOIN stats ON players.PlayerID = stats.PID WHERE stats.PtsPerGame >= 20 AND stats.AstPerGame >= 3 AND stats.RebPerGame >= 3 AND stats.StlPerGame >= 2 AND stats.BlkPerGame >= 1 ORDER BY stats.PtsPerGame DESC; 
0

您需要向下放下你的WHERE子句您FROM以下條件總是出現和JOIN

大號IKE在此:

SELECT players.FirstName, 
     players.LastName, 
     stats.PtsPerGame, 
     stats.AstPerGame, 
     stats.RebPerGame, 
     stats.StlPerGame, 
     stats.BlkPerGame 
FROM players 
    INNER JOIN stats ON players.PlayerID = stats.PID 
WHERE stats.PtsPerGame >= 20 
     AND stats.AstPerGame >= 3 
     AND stats.RebPerGame >= 3 
     AND stats.StlPerGame >= 2 
     AND stats.BlkPerGame >= 1 
ORDER BY stats.PtsPerGame DESC; 

看一看HERE,如果你是新來的這一切:)