我有一张表(与多个其他表相关),我想过滤其中一列(RequesterID) - 该列将是一个组合框,其中只有非销售人员可以选择。如何过滤SQL Server SQL查询中的某一列
这里是“未过滤”查询时,让调用它QUERY 1:
SELECT RequestsID, RequesterID, ProductsID
FROM dbo.Requests
如果使用一个单独的查询,让称之为QUERY 2,过滤RequesterID(其是相关列中的人物,连接到People.PeopleID),它是这样的:
SELECT People.PeopleID
FROM People INNER JOIN
Roles ON People.RolesID = Roles.RolesID INNER JOIN
Requests ON People.PeopleID = Requests.RequesterID
WHERE (Roles.Role <> N'SalesGuy')
ORDER BY Requests.RequestsID
现在,有“合并”,查询到2查询1的方法吗?
(询问1 dbo.Requests已RequesterID人口从dbo.People外键,所以有没有问题......这些连接都没事,只是不知道怎么写SQL查询!)
UPDATE
试图解释什么,我的意思是在多一点...:
结果集应该是多个请求 - 和请求的数量不应该由QUERY 2限制QUERY 2:唯一的功能是限制可选子集列Requests.RequesterID - 不,这不是很清楚,但在C#VS2008实现中,我使用Requests.RequesterID最终使用[全名](它是People表中的另一列)填充ComboBox,并在那一栏我不想让SalesGuy尽可能地显示出来;这里我正尝试清除它更...(但有错误的语法,当然)
SELECT RequestsID, (RequesterID WHERE RequesterID != 8), ProductsID
FROM dbo.Requests
是,RequesterID 8恰好是SalesGuy :-)
你是什么意思合并? – 2010-05-21 11:21:42
我的意思是填充我想要的peopleid的名单,以某种方式查询2应该能够与查询1在一个单一的查询一起工作 - 合并是也许不是最好的词,但我不知道如何把它其实 - 我希望这可以为你清除。 – 2010-05-21 11:49:14
我已经更新了我的答案。逐渐回暖? – 2010-05-21 12:16:29