[英]MySql error when trying to combine two tables
嗨,我在嘗試合並兩個表Post和User時遇到以下錯誤
錯誤:多余的輸入'post'期望{,';',K_ALTER,K_ANALYZE,>> K_ATTACH,K_BEGIN,K_COMMIT,K_CREATE,K_DELETE,K_DETACH,K_DROP,K_END,K_EXPLAIN,K_INSERT,K_PRAGMA,K_ELEASE, K_SAVEPOINT,K_SELECT,K_UPDATE,K_VACUUM,K_VALUES,K_WITH,UNEXPECTED_CHAR}
我有一個表,表中包含許多帖子,其中包括標題,正文和由用戶創建的帖子,
用戶表是用戶詳細信息的列表,例如名稱和地址。
我正在嘗試創建一個結果集,以輸出帖子的詳細信息,例如標題和正文,以及附加的用戶名(帖子表僅具有用戶ID引用)
這是我嘗試過的查詢
SELECT post.title AS title, post.body AS body, post.username AS username FROM post, user, WHERE user.id = post.userId
我的SQL技能有點生銹,但是我相信可以完成上述用例查詢?
聽起來您想要表聯接。 我假設您在寫post.username時是指user.username,因為稍后您會說post表僅具有一個userId引用。
您可能想要這樣的東西:
SELECT post.title, post.body, user.username
FROM post
INNER JOIN user
ON post.userId=user.id;
您應該嘗試這樣的事情:
SELECT p.title AS title,p.body AS body,p.username AS username
FROM post p
JOIN user u ON u.id = p.userId
WHERE u.id = 'to your user id'
您的查詢看起來不錯,但請刪除where子句前的逗號:
從
SELECT post.title AS title, post.body AS body, post.username AS username FROM post, user, WHERE user.id = post.userId
至
SELECT post.title AS title, post.body AS body, post.username AS username FROM post, user WHERE user.id = post.userId
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.