尝试编写SQL JOIN时出现语法错误

时间:2013-03-17 22:25:50

标签: mysql sql

SQL绝对不是我的强项。我知道它已经足够好了。我从未真正学到的东西是如何使用连接。我永远无法获得使用连接的条件语句,我不知道为什么。所以我想我会弄清楚的。我正在制作一个私人新闻源,这是我从db中获取的SQL

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 friends on feed.user = friends.user1 WHERE friends.user2 ='at line 1'
  • 附近使用正确的语法

如果你在'AND day =?之后摆脱了额外的条件,这条线本身就可以正常工作但它现在的编写方式不起作用。所以这个陈述有效

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

我的问题是如何添加'AND day =?'以正确的方式进入声明?

1 个答案:

答案 0 :(得分: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