以文本方式查看主题 - 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,还是不行的.请高手指点! |