2011-10-05 33 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方法;根据需要修改。 –

相关问题