首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

|M| 求一句SQL查询语句解决方法

2012-03-23 
|M| 求一句SQL查询语句tabidcitynameprice1price2price31GDBB0002GDCC1003SZDD0114SZEE000现在要求查出Cit

|M| 求一句SQL查询语句
tab
id   city     name   price1       price2     price3
1     GD         BB                 0                 0               0
2     GD         CC                 1                 0               0
3     SZ         DD                 0                 1               1  
4     SZ         EE                 0                 0               0

现在要求   查出City为GD   和price1   price2   price3中价格有大于0的记录

谢谢

[解决办法]
--如:
select * from tab where city= 'GD ' and price1+price2+price3> 0
[解决办法]
select * from tablename
where City = 'GD ' and (price1 +price2 +price3) > 0
[解决办法]
select *
from Tab
where City= 'GD ' and (price1> 0 or price2> 0 or price3> 0)

[解决办法]
select * from tab where City= 'GD ' and (price1> 0 or price2> 0 or price3> 0 )
[解决办法]
tab
id city name price1 price2 price3
1 GD BB 0 0 0
2 GD CC 1 0 0
3 SZ DD 0 1 1
4 SZ EE 0 0 0

现在要求 查出City为GD 和price1 price2 price3中价格有大于0的记录
select * from tab where city = 'GD ' and (price1 > 0 or price2 > 0 or price3 > 0)
[解决办法]
?

Select * From tab Where City = 'GD ' And (price1 > 0 Or And price2 > 0 And price3 > 0)
[解决办法]
--建立测试环境
create table #tab(id int,city varchar(5),name varchar(5),price1 int,price2 int,price3 int)
insert #tab(id,city,name,price1,price2,price3)
select '1 ', 'GD ', 'BB ', '0 ', '0 ', '0 ' union all
select '2 ', 'GD ', 'CC ', '1 ', '0 ', '0 ' union all
select '3 ', 'SZ ', 'DD ', '0 ', '1 ', '1 ' union all
select '4 ', 'SZ ', 'EE ', '0 ', '0 ', '0 '
go
--执行测试语句
select t.id,t.city,t.name,t.price1,t.price2,t.price3 from #tab t
where City = 'GD ' and (price1 +price2 +price3) > 0

go
--删除测试环境
drop table #tab
go
/*--测试结果
id city name price1 price2 price3
----------- ----- ----- ----------- ----------- -----------
2 GD CC 1 0 0

(1 row(s) affected)
*/


------解决方案--------------------


接了個電話,慢了這麼多。
[解决办法]
看大家辛苦了
[解决办法]
(price1 +price2 +price3) > 0
如果有负数就麻烦了
[解决办法]
Select * From Table
Where City= 'GD '
And IsNull(Price1,0)+IsNull(Price2,0)+IsNull(Price3,0)> 0
[解决办法]
楼上的都是正解。
lz 是新手中的新手啊,
这个问题也放100。

查出City为GD 和price1 price2 price3中价格有大于0的记录
是: City为GD 并且 price1 price2 price3中价格有大于0的记录 -------------1
还是 City为GD 或者 price1 price2 price3中价格有大于0的记录 -------------2

前面的答案给出的是1。
如果要2 把第一个and 换成or
[解决办法]
Select
*
From
Tab
Where
City= 'GD ' And (Price1> 0 Or Price2> 0 Or price3> 0)
--------------------
[解决办法]
乌龟想的真多,呵呵
[解决办法]
zahahui(zahahui) ( ) 信誉:100 2007-08-15 15:24:32 得分: 0


楼上的都是正解。
lz 是新手中的新手啊,
这个问题也放100。

-------------

哈,看來你在CSDN是新手。

樓主的帖子從來沒有少於100分的。
[解决办法]
应该是要找出查出City为GD并且price1 price2 price3中任意一个大于0的记录.
Select * From Table
Where City= 'GD '
And IsNull(Price1,0)+IsNull(Price2,0)+IsNull(Price3,0)> 0

[解决办法]
create table tabl
(
id int,
city nvarchar(20),
name nvarchar(20),
price1 int,
price2 int,
price3 int
)
insert into tabl
select 1, 'GD ', 'BB ',0,1,0 union all
select 2, 'GD ', 'CC ',1,0,0 union all
select 3, 'SZ ', 'DD ',1,0,1 union all
select 4, 'SZ ', 'EE ',1,1,0


select * from tabl where city= 'GD ' and (price1> 0 or price2> 0 or price3> 0)
drop table tabl
[解决办法]
鱼记得这么清,下回人家没分,可不要不认真答
[解决办法]
回帖的竟然认识发帖的,难得
[解决办法]
我以为是那位高人故意放的分
[解决办法]
wgzaaa() ( ) 信誉:100 2007-08-15 15:37:27 得分: 0


鱼记得这么清,下回人家没分,可不要不认真答


----------
你放心,樓主的馬甲有幾百個,從來沒有沒分的時候,每個帖子都是100分的。

热点排行