2017-01-03 123 views
-3

我有兩張表看起來像那樣。在codeigniter中按ID選擇查詢

test_suite

id project_id name 
10  76   tt 
9  76   nn 
8  7   ee 

test_suite_run

id test_suite_id name 
29   10  sss 
28   10  ttt 
27   9  jjj 
26   7  gdgg 
25   8  tttt 
24   1  oooo 

這裏,test_suite_id是參考ID與test_suite表。現在我想其中查詢與PROJECT_ID(比如PROJECT_ID = 76)其中輸出如下

id project_id test_suite_id name 
29  76    10  sss 
28  76    10  ttt 
27  76    9  jjj 
+0

我是新來的,所以一週查詢。我無法決定如何執行此操作。 – user7149801

+0

爲了給你一個很好的答案,如果你有一個問題,你可以幫助我們,如果你還沒有。如果你可以提供[mcve],它可能也很有用。 – Mat

回答

2

你想要一個簡單的JOINWHERE條款。

SELECT 
    tsr.id 
    ,ts.project_id 
    ,tsr.test_suite_id 
    ,tsr.[name] 
FROM test_suite_run tsr 
JOIN test_suite ts 
    ON tsr.test_suite_id = ts.id 
WHERE ts.project_id = 76 
+0

哦謝謝。它的工作原理 – user7149801

0

使用活動記錄

$this->db->where('test_suite.project_id', $project_id); 
    $this->db->select('*'); 
    $this->db->from('test_suite'); 
    $this->db->join('test_suite_run' ,'test_suite.project_id=test_suite_run. project_id'); 
    $query = $this->db->get(); 
0

此查詢可以幫助你..

$this->db->select('*'); 
    $this->db->from('test_suite'); 
    $this->db->join('test_suite_run', 'test_suite_run.project_id = test_suite.test_suite_id'); 
    $this->db->where('test_suite.project_id =', $project_id); 
    $query = $this->db->get(); 

謝謝。

0

你需要做一個連接兩個表。

$table = $this->db->select("r.*,t.project_id") 
->join("test_suite t","t.id = r.test_suite_id") 
->get('test_suite_run r')->result(); 
0

試試這個:

$CI->db->select('tsr.id,ts.project_id,tsr.test_suite_id,tsr.name'); 
$CI->db->from('test_suite_run tsr'); 
$CI->db->join('test_suite ts', 'ts.id = tsr.test_suite_id', 'left'); 
$query = $CI->db->get(); 
+0

請詳細解釋您的解決方案。 – Juve

0

$this->db->select('*'); $this->db->from('test_suite'); $this->db->join('test_suite_run', 'test_suite_run.test_suite_id = test_suite.id'); $this->db->where('test_suite.project_id','76'); $query = $this->db->get();

0

CI中您可以使用查詢生成器,這樣....

$this->db->select('test_suite_run.id,test_suite.project_id,test_suite_run.test_suite_id,test_suite_run.name'); 
$this->db->from('test_suite'); 
$this->db->join('test_suite_run', 'test_suite_run.test_suite_id = test_suite.id'); 
$this->db->where('test_suite.project_id','76'); 
$query = $this->db->get(); 

從這裏需要更多的參考... https://www.codeigniter.com/userguide3/database/query_builder.html