作者sucao (总裁)
看板Database
标题Re: [SQL ] 删除重覆的资料
时间Mon Nov 30 02:12:19 2009
※ 引述《CavalryTseng (CavalryTseng)》之铭言:
: ※ 引述《icefanatic (下雨天...)》之铭言:
: : 请问各位高手~
: : 我用access
: : table有 sale 和 overlap
: : 两个table的栏位皆有c_id,product,s_date
: : 我想删除sale和overlap里有重覆的资料
: : 我下的query:
: : SELECT sale.c_id,sale.product,sale.s_date
: : FROM sale,overlap
: : WHERE sale.c_id <> overlap.c_id AND sale.product <> overlap.product
: : AND sale.s_date <> overlap.s_date
: : GROUP BY sale.c_id,sale.product,sale.s_date;
: : 出来的data和sale完全一样= =
: : 根本没删除到overlap记录的资料...
: : 请问是哪里出错了?
: : 恳请大家指教~
: : 谢谢~
: 我想到的是用 UNION
: --以下为 Sql Query
: SELECT c_id, product, s_date FROM sale
: UNION
: SELECT c_id, product, s_date FROM overlap
: /*UNION 使用限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。
: 简单的说就是 column 资料型态要一样, cloumn 数也要相同
: 希望有帮到你的忙
如果是这样呢?找出重覆的资讯
select c_id, product, s_date, count(c_id)
from (
select c_id, product, s_date from sale
union all
select c_di, product, s_date from overlap
) a
group by c_id, prodcut, s_date
having count(c_id) > 1
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.171.169.134