SQL查询与多个checkboxlist选择
问题描述:
我有一个复杂的查询,其中包括一些动态的SQL部分依赖于checkboxlist。这是我现在难住的部分(脑屁?)。SQL查询与多个checkboxlist选择
简单的例子:
表A(ID,姓名)
表B(ID,援助,CID)
表C(ID,颜色)
因此,可以说表A具有:
1,鲍勃 2,添 3,皮特
和表C具有:
1,红 2,蓝 3,绿色
查阅表B具有
1,1,1 2,1,2 3,3, 2
让鲍勃最喜欢的颜色是红色和蓝色和皮特最喜欢的颜色只有蓝色。
如何查询,以便我只从表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)
答
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)
幸运的是,我使用的是SQL Server 2005的感谢马特! – nekoian 2010-02-08 16:32:49