2014-10-29 96 views
0

您好,我正在製作一個外部應用程序,需要從運行drupal網站的網絡服務器訪問和讀取數據。SQL內部連接不會返回正確的答案

我想連接兩個表並從第一個表中讀取1列,當其他表中的某些內容爲真時。

表是 「個人資料」 和 「user_roles」

http://i.stack.imgur.com/jRhFG.png

,你可以看到當我運行"SELECT * FROM users_roles WHERE rid = 10"返回結果

http://i.stack.imgur.com/jU5GL.png

,當我"SELECT * FROM profile where uid = 220"也回報結果,在這些表中有很多用戶,我只是包含了一小部分來證明這一點。

但是當我運行"SELECT pid FROM profile INNER JOIN users_roles on profile.pid = users_roles.uid WHERE users_roles.rid = 10"

它沒有返回,如果我改變同一語句users_roles.rid = 5它正確返回它們。 但用10它不。

我需要得到所有的PID的角色ID是一個給定的數字 任何人都可以告訴我什麼即時通訊做錯了?

+0

它如果使用更好的[SQL小提琴(http://sqlfiddle.com),而不是表圖像 – 2014-10-29 13:38:37

回答

4

我認爲你有錯誤的連接聲明。你需要加入對UID列的表像下

SELECT pid FROM profile 
    INNER JOIN users_roles on profile.uid = users_roles.uid WHERE users_roles.rid = 10 
+0

這工作,非常感謝! :) – 2014-10-30 18:47:40