Asp.net 选择多个复选框列表的sql查询
我有一个复杂的查询,其中包含一些部分依赖于复选框列表的动态sql。这是让我现在感到困惑的部分(大脑放屁?) 简单的例子: 表A(id、名称) 表B(id、Aid、Cid) 表C(id、颜色) 假设表A有: 1、鲍勃 2、蒂姆 3,皮特 表C有: 1、红色 2、蓝色 3、绿色 现在,表B已经完成 1,1,1 2, 1, 2 3,3,2 所以鲍勃最喜欢的颜色是红色和蓝色,而皮特最喜欢的颜色只有蓝色Asp.net 选择多个复选框列表的sql查询,asp.net,sql,sql-server,Asp.net,Sql,Sql Server,我有一个复杂的查询,其中包含一些部分依赖于复选框列表的动态sql。这是让我现在感到困惑的部分(大脑放屁?) 简单的例子: 表A(id、名称) 表B(id、Aid、Cid) 表C(id、颜色) 假设表A有: 1、鲍勃 2、蒂姆 3,皮特 表C有: 1、红色 2、蓝色 3、绿色 现在,表B已经完成 1,1,1 2, 1, 2 3,3,2 所以鲍勃最喜欢的颜色是红色和蓝色,而皮特最喜欢的颜色只有蓝色 如何进行查询,以便仅从表A中检索具有最喜欢的红色和蓝色的行。我不想在我的结果集中看到Pete。您想使用
如何进行查询,以便仅从表A中检索具有最喜欢的红色和蓝色的行。我不想在我的结果集中看到Pete。您想使用INTERSECT操作符来获取两者都匹配的结果,但是,这只是SQL 2005+
SELECT name FROM TableA
WHERE ID IN (SELECT Aid FROM TableB WHERE CId = 1
INTERSECT
SELECT Aid FROM TableB WHERE CId = 2)
幸运的是,我使用的是SQLServer2005。谢谢你,马特!
SELECT sr.receiving_id, sc.collection_id FROM stock_collection as sc, stock_requisation as srq, stock_receiving as sr WHERE (sc.stock_id = '" & strStockID & "' AND sc.datemm_issued = '" & strMM & "' AND sc.qty_issued >= 0 AND sc.collection_id = srq.requisition_id AND srq.active_status = 'Active') OR (sr.stock_id = '" & strStockID & "' AND sr.datemm_received = '" & strMM & "' AND sr.qty_received >= 0)