2012-06-10 111 views
0

在那裏,我們真正去列,我認爲它應該是好的,但它不是MySQL的2從2個表

SELECT animize_users.username, animize_profile.avatar 
FROM animize_users, animize_profile 
WHERE `animize_profile.userid` = 1 AND `animize_users.id` = 1 
LIMIT 0 , 1 

請不要告訴我把這個AA單獨的查詢中的每個 - 因爲我不不想做不必要的電話......

+1

小心分享問題或錯誤是什麼? – GDP

回答

2

嘗試這種方式與正確使用反引號:

SELECT animize_users.username, animize_profile.avatar 
FROM animize_users, animize_profile 
WHERE `animize_profile`.`userid` = 1 AND `animize_users`.`id` = 1 
LIMIT 0 , 1 
+0

大聲笑,在這一個失敗 - 不錯和thx;) –

+0

@傑夫沃特金斯在整體SQL提出非常有效的點,你應該納入他的意見。我只是糾正問題的出處,以便你能看到實際上是你悲痛的根源。 – GDP

3

就完全省略引號,如果不是在需要他們,即

SELECT animize_users.username, animize_profile.avatar FROM animize_users au join animize_profile ap on ap.userid = au.id WHERE au.id = 1 

如果你對用戶ID有適當的PK,用戶不應該重複,真正的限制1只會影響你選擇的配置文件。我建議添加到哪裏以確保您獲得最合適的配置文件。另外,如果「最小化」是你的產品,那麼不要在你的表前加上它,這是多餘的。

+0

我喜歡這個,沒有真正的 - 因爲我對SQL非常有經驗,但是從來不必自己編寫複雜的查詢,我想過使用join,但是在朋友的解釋中顯示了上述方式,我想方式不是:) !不幸的是,遲到會給你「正確的答案」,格雷格也快,但無論如何感謝您花時間:)。 –

+0

@IvanSchrecklich沒問題,我很高興我可以幫助:) –