多对多SQL SQL查询加入

时间:2015-07-02 09:41:26

标签: mysql sql

我试图查询以下内容。基本上,客户可以分为多个类别。我有一个类别的复选框列表,并希望只显示所选类别的客户端。我一直在尝试使用内连接,但我的SQL仍处于起步阶段,我显然错了。任何建议都非常感谢。谢谢你的阅读。

我的表格布局:http://www.uk-wired.co.uk/images/sample.jpg

enter image description here

3 个答案:

答案 0 :(得分:1)

select * from clients join clientscategories on clientscategories.clientid=clients.clientid where clientscategories.idcat IN (value1,value2,......)

我希望这个虚拟查询可以帮助您实现目标。

答案 1 :(得分:0)

select * from clients join clientscategories on clients.idclient=clientscategories.idclient join categories on clientscategories.idcat=categories.idcat WHERE clientscategories.idcat IN (v1,v2,......)

我想你可以试试这个,请将你从复选框中选择的值提供给v1,v2 ......

答案 2 :(得分:-1)

首先,您应该添加另一个列,例如'状态'在客户端表中。在代码级别,您应该使用一个包含选定或未选定字符串的变量。应用

之类的条件
if(checkbox.checked)
status = "selected";
else
status = "Unselected";

then insert client.

之后您可以应用查询...

select clientscategories.idclients, clientscategories.idcat, cleints.title etc..  from clientscategories join categories
on  clientscategories.idcat = categories.idcat
join clients
on clientscategories.idclient = clients.idclients
where clients.status = 'Selected'