如何解决如何在Oracle中选择具有不同子集的所有值
我在Oracle中有一个表,该表有很多列。其中5个是唯一的键组合。别人就是他们。另外,我需要执行与另一个表的联接。 我想要达到的目标:
表ost:
id_shop,ean,kol,cena1,cena2,cena3,nei,art,asize,procent,scan,partno //后五个必须在组合中不同,前七个必须保持原状。
我也只想从表ost中选择像这样的联接中的那些:
join s_shop on ost.id_shop = s_shop.shopid
where s_shop.landid = 'RU'
and ost.id_shop != 'S888' || 'S999'
and ost.art not in (select art from osttek)
我想选择它以便稍后插入到表中,其中主键是那些5列(因此是唯一的组合)。我尝试将所有内容与仅从自身中选择组合一起加入,但是有些错误。另外,我应该在哪里执行与s_shop的连接? 谢谢
ost
id_shop,ean,kol,cena1,cena2,cena3,nei,art,asize,procent,scan,partno
1 123 22 10 9 8 gh2y2 3dw 40 0 n22s b22w2
1 143 12 6 3 2 b23h 3dw 40 0 n22s b22w2
2 111 21 11 4 7 gdd2 32w 30 10 n22s b22w2
2 222 11 12 5 8 bo0h 32k 30 20 n22s b22w2
1 222 11 12 5 8 bo0h 32k 30 20 n22s b22w2
S999 222 11 12 5 8 7yff 31s 31 21 n21s b22w2
如您所见,前两行具有相同的键组合。如果我们假设在s_shop中1映射到地标“ RU”,而2映射到“ BU”,那么我只需要第一行(如果art 3dw并非表osttek的所有艺术品中的) 想象一下osttek表中的艺术品就像:
table osttek:
ART
34hd,32ej,490d;
table s_shop
landid shopid
RU 1
BU 2
BZ S999
我需要一个查询,该查询将返回行:
1 123 22 10 9 8 gh2y2 3dw 40 0 n22s b22w2
1 222 11 12 5 8 bo0h 32k 30 20 n22s b22w2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。