2012-07-09 55 views
0

來自多個表的多個列是我的查詢選擇在MySQL

select p.problem_id, 
     p.problem_title, 
     p.description, 
     paps.problem_external_source_id, 
     paps.problem_and_problem_source_id 
    from problem_backup p, 
     problem_and_problem_source paps 
where p.problem_id=paps.problem_id and paps.free_user_id!='null'; 

我的問題是如何選擇基於檢索到的列的另一個表的列(即我的查詢我要選擇從其他一些列表基於problem_and_problem_source_id)檢索到,我想要在同一個查詢中完成,我們可以在程序中完成整個工作..

+0

該表的列你想顯示什麼是連接標準 – 2012-07-09 06:28:20

+0

是的,因爲sashi說你正在尋找什麼叫做「加盟」,它暫時將兩個表(由一個表匹配的列到另一個)你的表是什麼樣的? – ibash 2012-07-09 06:34:57

回答

1

您可以用相同的方式加入另一個表。注意paps.free_user_id!='null'應該是paps.free_user_id is not null,除非你的意思是user_id確實是字符串'null'

select p.problem_id, 
     p.problem_title, 
     p.description, 
     paps.problem_external_source_id, 
     paps.problem_and_problem_source_id, 
     yat.* 
from problem_backup p 
inner join problem_and_problem_source paps 
    on p.problem_id = paps.problem_id 
inner join your_another_table yat 
    on paps.problem_and_problem_source_id = yat.join_column_name 
where paps.free_user_id is not null 
+0

我們可以通過存儲過程去使用所有這些東西嗎 – sasi 2012-07-09 07:28:41

+0

如果你的意思是可以在存儲過程中使用這個查詢,那麼是的。如果你的意思是你可以使用存儲過程來執行與連接相同的功能,那麼爲什麼你要這樣做呢? – Braiba 2012-07-09 07:50:16

+0

感謝您回覆Braiba,這是最好的方法....我想在存儲過程中使用此查詢 – sasi 2012-07-09 07:54:12