如何在不使用SQL中的where子句的情况下不在结果中包含一组结果

时间:2014-06-04 09:54:13

标签: sql sql-server-2008

我目前使用4个表来获取数据的提取,我删除了excel中的一些行。有没有办法我可以在select语句中添加一个条件而不需要操作where子句。 例如:

Results
Supplier    Product & extra
Sky         Broadband & mobile minutes
Sky         fiber broadband & internet security
TalkTalk    Simply broadband & mobile minutes
EE          Unlimited broadband & mobile minutes
EE          fiber broadband & international minutes

Tbl1提供供应商信息,tbl2提供产品信息,tbl3提供额外信息。 我需要从结果中删除带有移动分钟信息的EE,同时保留EE的其余部分。我不知道该怎么做。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

根据您的评论

  

我的where子句是这样的“WHERE Extra IN(30,44,106,   107,29,68)AND serviceProvider IN(1,2,3,10,143,149,154,159,   165,167,166,168,176,177)

如果EE的id为143且移动分钟的id为106,则可以在现有的WHERE子句中添加NOT。您的WHERE子句将成为:

WHERE Extra IN (30, 44, 106, 107, 29, 68)
AND serviceProvider IN (1, 2, 3, 10, 143, 149, 154, 159, 165, 167, 166, 168, 176, 177)
AND NOT (Extra = 106 AND serviceProvider = 143)

明显更改它以使用额外的服务提供商的正确ID。

答案 1 :(得分:0)

您不能限制select中的行数,但如果您不想使用WHERE,则可以在JOIN中添加条件(即FROM T1 JOIN T2 ON T1.col = T2.col和T2.my_col =' smth')

Lidia D.