2011-10-05 30 views
-1

假設我有三個表格:如何從table1中選擇table2中具有table3選項的記錄?

  • table1:包含各種記錄;
  • table2:包含什麼記錄有什麼選項;
  • table3:包含選項;

table2包含table1和table3的外鍵 - 因此指定哪個table1記錄具有女巫table3選項。 table1記錄可以有多個table3選項;

我想通過指定它們的選項來選擇table1記錄,我需要能夠選擇任何選項\任意選項組合並顯示所有具有此選項組合的table1記錄,它可以有其他選項,但它必須有指定的...

你會怎麼寫/建立這樣的查詢?

注:我指定從表單中使用哪些選項..

想象 - 表1中包含的產品和表3包含有關產品的各種細節

用戶提交表單選擇相應複選框,從而顯示出什麼細節產品應該有,我需要得到所有記錄有這些選項...

foreach($table1record as $detail){ 
    if($this->input->post('detail_{$detail['id']})){ 
    //option selected, continue building query ... 
    } 
} 

回答

0

這個怎麼樣?

SELECT t1.* 
FROM table1 as t1 
INNER JOIN table2 as t2 
WHERE t2.SomeColumn IN (SELECT SomeOtherCol FROM table3); 
+0

呃..我沒有看到我指定了我想要查找的選項..現在我要查看table3中的記錄並查看用戶是否已選中相應的複選框,如果所以然後找這個選項.. – CableGuy

+0

你是對的......你沒有給出任何信息,也沒有任何模式。我給出了一般的SQL方法;根據需要修改。 –

相關問題