2013-03-17 45 views
0

SQL絕對不是我的強項。我知道這足以讓人過目難忘。我從來沒有設法真正學好的是如何使用連接。我永遠無法獲得條件語句來處理連接,我不知道爲什麼。所以我想我會弄明白。我正在做一個私人新聞源,這是我的SQL從數據庫中獲取嘗試寫入SQL的語法錯誤JOIN

SELECT * FROM feed 
WHERE INNER JOIN friends ON feed.user = friends.user1 
WHERE friends.user2 = ? AND day = ? 
ORDER BY id DESC 
LIMIT 15 

錯誤的PDO語句返回是:

  • 「SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的使用在近線「INNER JOIN朋友ON feed.user = friends.user1 WHERE friends.user2 =」 1'

線由工作正常,正確的語法手冊本身,如果你在'AND day =?'之後擺脫了額外的條件但它現在的寫法並不奏效。所以這個聲明的作品

SELECT * FROM feed 
INNER JOIN friends ON feed.user = friends.user1 
WHERE friends.user2 = ? 
ORDER BY id DESC 
LIMIT 15 

我的問題是我該如何添加'AND日=?'進入正確的方式?

+0

'FROM * WHERE INNER JOIN'是不正確的SQL語句。 – MarcinJuraszek 2013-03-17 22:28:17

+0

你不能在where子句中使用inner join – 2013-03-17 22:29:52

+0

刪除第一個地方 – jurgenreza 2013-03-17 22:30:48

回答

1
SELECT * FROM feed 
INNER JOIN friends ON feed.user = friends.user1 
WHERE friends.user2 = ? AND feed.day = ? 
ORDER BY feed.id DESC LIMIT 15 
+0

那有效!只需要將表名添加到where子句。謝謝! – Alex 2013-03-17 22:51:51

+0

@ user1928545沒問題 – 2013-03-17 22:52:55