以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教下,这条SQL语句错在哪?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32529)

--  作者:baoxyang
--  发布时间:2013/5/3 16:37:00
--  请教下,这条SQL语句错在哪?

select * from 库存表 a where (a.商品代号,a.储位,a.生产日期) in (select a.商品代号,a.储位,a.生产日期 from 库存表 group by 商品代号,储位,生产日期 having count(*) > 1) and id not in (select min(id) from 库存表 group by 商品代号,储位,生产日期 having count(*)>1)  

执行会报错,不知错在哪?请高手指点!先谢了!!


--  作者:XYT
--  发布时间:2013/5/3 16:40:00
--  

 

[此贴子已经被作者于2013-5-3 16:59:14编辑过]

--  作者:Bin
--  发布时间:2013/5/3 16:43:00
--  
不能像你这样用的.
where 字段1 in (select 字段1,字段2 from table2) or 字段2 in(select 字段1,字段2 from table2) 
--  作者:baoxyang
--  发布时间:2013/5/3 16:50:00
--  

实现的目的是:一张库存表,若想将储位、生产日期、商品代号这三个字段完全相同的记录查找出来

在网上查找的方法:

select * from 库存表 a where (a.商品代号,a.储位,a.生产日期) in (select a.商品代号,a.储位,a.生产日期 from 库存表 group by 商品代号,储位,生产日期 having count(*) > 1) and id not in (select min(id) from 库存表 group by 商品代号,储位,生产日期 having count(*)>1)  

执行会报错,不知错在哪?请高手指点!先谢了!!

 


--  作者:Bin
--  发布时间:2013/5/3 16:57:00
--  
select * from 库存表 a where a.商品代号 in (select a.商品代号 from 库存表 group by 商品代号 having count(*) > 1) or a.储位 in (select a.储位 from 库存表 group by 储位 having count(*) > 1) or a.生产日期 in (select a.生产日期 from 库存表 group by 生产日期 having count(*) > 1) and id not in (select min(id) from 库存表 group by 商品代号,储位,生产日期 having count(*)>1)  
--  作者:baoxyang
--  发布时间:2013/5/3 17:06:00
--  
以下是引用Bin在2013-5-3 16:57:00的发言:
select * from 库存表 a where a.商品代号 in (select a.商品代号 from 库存表 group by 商品代号 having count(*) > 1) or a.储位 in (select a.储位 from 库存表 group by 储位 having count(*) > 1) or a.生产日期 in (select a.生产日期 from 库存表 group by 生产日期 having count(*) > 1) and id not in (select min(id) from 库存表 group by 商品代号,储位,生产日期 having count(*)>1)  

结果是不对.


--  作者:Bin
--  发布时间:2013/5/3 17:07:00
--  
是报错 还是结果不对?
--  作者:Bin
--  发布时间:2013/5/3 17:08:00
--  
把 OR 改为 AND 刚才大意了. 
--  作者:baoxyang
--  发布时间:2013/5/3 17:20:00
--  

我改过了,是结果不对的.


--  作者:baoxyang
--  发布时间:2013/5/4 8:56:00
--  
以下是引用muhua在2013-5-3 17:27:00的发言:

在狐表中,表不能用 a 来标识,换其他的吧  如  ta

a改ta,还是不行的.请高手指点!