簡體   English   中英

嘗試合並兩個表時出現MySql錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM