当前位置: 代码迷 >> Oracle开发 >> 请问:在一张表中如何取出A列大于B列的所有行
  详细解决方案

请问:在一张表中如何取出A列大于B列的所有行

热度:35   发布时间:2016-04-24 06:34:08.0
请教:在一张表中怎么取出A列大于B列的所有行
tabA

客户   产品    价格1    价格2
k1       m1       10          9
k1       m1       20          9
k1       m1       10          19
k1       m1       20          19

结果

客户   产品    价格1    价格2
k1       m1       10          9
k1       m1       20          9
k1       m1       20          19

 
------解决思路----------------------
引用:
 

select * from tba where 价格1>价格2

------解决思路----------------------
引用:
tabA
客户   产品    价格1    价格2
k1       m1       10          9
k1       m1       20          9
k1       m1       10          19
k1       m1       20          19
结果
客户   产品    价格1    价格2
k1       m1       10          9
k1       m1       20          9
k1       m1       20          19 

,这么简单的也问啊,还是先看看基础的东西吧
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

 

select * from tba where 价格1>价格2


create table #temp(
A varchar(10),
B varchar(10),
C varchar(10),
D varchar(10)
);
insert into #temp values('k1','m1',10,9);
insert into #temp values('k1','m1',20,9);
insert into #temp values('k1','m1',10,19);
insert into #temp values('k1','m1',20,19);

select * from #temp where c>D;

结果:

A B C D
k1 m1 20 19


数据类型搞错了, 把 C 和 D 列改成 int 型。 varchar 是按字符串比较的。
  相关解决方案