我有一箇舊的表是這樣的:如何加入MySQL表
user> id | name | address | comments
而且現在我已經創建一個「別名」表中,以便一些用戶有一個別名出於某些原因。我創建了一個新表「user_alias」是這樣的:
user_alias> name | user
但現在我有我的原因SQL差水平問題......如何加入兩個表來產生這樣的:
1 | my_name | my_address | my_comments
1 | my_alias | my_address | my_comments
2 | other_name | other_address | other_comments
我的意思是,我想要的是,在相同的格式返回的「用戶」表中所有的用戶和別名..事情是這樣的一個「SELECT ...」查詢:
SELECT user.* FROM user LEFT JOIN user_alias ON `user`=`id`
,但它不我不會爲我工作..
完美!這是解決方案。我不知道這是否是最好的,但它的工作原理!只有一個小錯誤: SELECT user.name,user.address,user.comment從用戶 UNION ALL SELECT user_alias.alias,user.address,user.comment 從用戶INNER JOIN上user.id = user_alias user_alias。用戶 ORDER BY name – Ivan 2010-03-23 16:40:54
哦,我現在看到你的JOIN了。您應該將user_alias.user重命名爲user_alias.user_id,以更清楚地說明發生了什麼。 – 2010-03-23 16:42:56