| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 652 人关注过本帖
标题:能不能四表合并成一个表来显示?这两段SQL语句
只看楼主 加入收藏
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
结帖率:51.67%
收藏
已结贴  问题点数:10 回复次数:4 
能不能四表合并成一个表来显示?这两段SQL语句
-- 检查ITEM MASTER中的LAST PRICE与PO中的UNIT PRICE不一致的ITEM LIST
SELECT P.ITEM_CODE,P.INVOICE, P.SO_NUMBER, P.INDATE,
P.DESC1, P.UPRICE,I.LAST_PRICE,H.CRT_USER
FROM PO_LN1 P ,PO_HEAD1 H ,UN_ITEM1 I
WHERE P.ITEM_CODE=I.ITEM_CODE
AND H.PO_NUMBER =P.INVOICE
AND P.UPRICE<>I.LAST_PRICE
AND SUBSTRING(P.ITEM_CODE,9,1)='1'
AND P.CRRNCY NOT LIKE 'RMB'
AND P.CRRNCY NOT LIKE 'USD'
ORDER BY P.ITEM_CODE


-- 检查ITEM MASTER中的LAST PRICE与COST SHEET 中的UNIT PRICE不一致的ITEM LIST
SELECT C.PRODUCT_CODE, C.ITEM_CODE, C.UPRICE, I.LAST_PRICE ,I.LST_USER,I.CRT_DATE
FROM CS_METAL C JOIN UN_ITEM1 I
ON C.ITEM_CODE=I.ITEM_CODE
WHERE C.UPRICE<>I.LAST_PRICE
AND SUBSTRING(C.PRODUCT_CODE,9,1)='1'
ORDER BY C.PRODUCT_CODE

 我想反正都要与同一张UN_ITEM1 I里面的单价进行比较,
三者只要有任何二者不等的话,就可以显示,并集的SQL语句如何写)?

三者都不相等的交集,也可以单独显示。   (交集的SQL语句如何写)?
搜索更多相关主题的帖子: 检查 
2011-06-28 22:23
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
收藏
得分:0 
怎么没有人回答:是不是我的题意表述这不清呀?
下面我做的答案:
请大家指正一下:
三者都不相等的交集,也可以单独显示。   (交集的SQL语句如何写)
select te.ITEM_CODE,C.PRODUCT_CODE,te.INVOICE AS PO_NO, te.SO_NUMBER, te.INDATE AS PO_LASTUPDATE,
te.DESC1, te.UPRICE AS PO_UPRICE,te.LAST_PRICE,C.UPRICE AS COSTSHEETUPRICE,te.CRT_USER AS PO_CREATEUSER ,te.CRT_DATE AS ITEM_LASTUPDATE
 from (SELECT P.ITEM_CODE,P.INVOICE, P.SO_NUMBER, P.INDATE,
P.DESC1, P.UPRICE,I.LAST_PRICE,H.CRT_USER,I.CRT_DATE
FROM PO_LN1 P ,PO_HEAD1 H ,UN_ITEM1 I
WHERE P.ITEM_CODE=I.ITEM_CODE
AND H.PO_NUMBER =P.INVOICE
AND P.UPRICE<>I.LAST_PRICE
AND SUBSTRING(P.ITEM_CODE,9,1)='1'
AND P.CRRNCY NOT LIKE 'RMB'
AND P.CRRNCY NOT LIKE 'USD'
) as te
inner join CS_METAL C
ON C.ITEM_CODE=te.ITEM_CODE
and (C.UPRICE<>te.UPRICE or C.UPRICE<>te.LAST_PRICE)
and  SUBSTRING(C.PRODUCT_CODE,9,1)='1'
ORDER BY C.ITEM_CODE,C.PRODUCT_CODE, te.INVOICE

---结果查询的结果会比原来两张表总记录数减去相同行的数后,还多了2行

三者只要有任何二者不等的话,就可以显示, (并集的SQL语句如何写)
select te.ITEM_CODE,C.PRODUCT_CODE,te.INVOICE AS PO_NO, te.SO_NUMBER, te.INDATE AS PO_LASTUPDATE,
te.DESC1, te.UPRICE AS PO_UPRICE,te.LAST_PRICE,C.UPRICE AS COSTSHEETUPRICE,te.CRT_USER AS PO_CREATEUSER ,te.CRT_DATE AS ITEM_LASTUPDATE
 from (SELECT P.ITEM_CODE,P.INVOICE, P.SO_NUMBER, P.INDATE,
P.DESC1, P.UPRICE,I.LAST_PRICE,H.CRT_USER,I.CRT_DATE
FROM PO_LN1 P ,PO_HEAD1 H ,UN_ITEM1 I
WHERE P.ITEM_CODE=I.ITEM_CODE
AND H.PO_NUMBER =P.INVOICE
AND SUBSTRING(P.ITEM_CODE,9,1)='1'
AND P.CRRNCY NOT LIKE 'RMB'
AND P.CRRNCY NOT LIKE 'USD'
) as te
inner join CS_METAL C
ON C.ITEM_CODE=te.ITEM_CODE
and (C.UPRICE<>te.UPRICE  or te.UPRICE<>te.LAST_PRICE  or C.UPRICE<>te.UPRICE )
and  SUBSTRING(C.PRODUCT_CODE,9,1)='1'
ORDER BY C.ITEM_CODE,C.PRODUCT_CODE, te.INVOICE

--结果查询出现的结果比两张查询的结果之和还多出100多条记录,

高手能不能帮忙分析一下?
2011-06-29 11:33
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
收藏
得分:0 
没有愿意回答?
我很想知道正确答案的
2011-06-30 15:40
佳嘉给力
Rank: 2
来 自:宁波
等 级:论坛游民
帖 子:6
专家分:12
注 册:2011-6-30
收藏
得分:5 
可以用union啊
用union把几张表连起来
就可以了啊
2011-06-30 21:21
png
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:126
专家分:880
注 册:2010-10-6
收藏
得分:5 
回复 2楼 yiyaozjk
是不是这样?

三者都不相等的交集
--and (C.UPRICE<>te.UPRICE or C.UPRICE<>te.LAST_PRICE)
  and (C.UPRICE<>te.UPRICE AND C.UPRICE<>te.LAST_PRICE)

三者只要有任何二者不等的话
--and (C.UPRICE<>te.UPRICE  or te.UPRICE<>te.LAST_PRICE  or C.UPRICE<>te.UPRICE )
  and (C.UPRICE<>te.UPRICE  or te.UPRICE<>te.LAST_PRICE  or C.UPRICE<>te.last_UPRICE )


不过有这么麻烦吗? 这样行不行哪?

三者都不相等的交集...
select P.ITEM_CODE, P.UPRICE, C.UPRICE, I.LAST_PRICE
from   P join I on P.ITEM_CODE=I.ITEM_CODE
         join C on C.ITEM_CODE=I.ITEM_CODE
where  P.UPRICE<>I.LAST_PRICE  AND
       C.UPRICE<>I.LAST_PRICE  AND
       P.UPRICE<>C.UPRICE



三者只要有任何二者不等的话...
select P.ITEM_CODE, P.UPRICE, C.UPRICE, I.LAST_PRICE
from   P join I on P.ITEM_CODE=I.ITEM_CODE
         join C on C.ITEM_CODE=I.ITEM_CODE
where  P.UPRICE<>I.Last_PRICE  or
       C.UPRICE<>I.LAST_PRICE  or
       P.UPRICE<>C.UPRICE
2011-06-30 22:49
快速回复:能不能四表合并成一个表来显示?这两段SQL语句
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065579 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved