qza 发表于 2009-10-10 12:09

sql请教,郁闷了。

dbaccess -e cardb@picczb<<!
unload to 4.unl
select policyno
from prpcitemkind
where kindcode="A"
and exists (select policyno from prpcitemkind where kindcode="BZ")
and exists (select policyno from prpcitemkind where kindcode="B")
and exists (select policyno from prpcitemkind where kindcode="D1")
and startdate>="20090925"
!

kindcode不等于BZ的policyno怎么也被提出来了?老大们
就是想取同时满足kindcode=A,B,BZ和D1的所有policyno,怎么写啊?


谢谢

liaosnet 发表于 2009-10-10 12:18

原帖由 qza 于 2009-10-10 12:09 发表 http://bbs2.chinaunix.net/images/common/back.gif
dbaccess -e cardb@picczb

一个记录的同一个记录可以有多个值??:shock: :shock:


就是想取同时满足kindcode=A,B,BZ和D1的所有policyno,怎么写啊?


policyno

A
B
BZ
D1

这个怎么可能存在policyno同时等于A,B,BZ,D1呢?
你要的是不是 policyno in("A","B","BZ","D1") ?

hsqsoft 发表于 2009-10-10 13:03

回复 #1 qza 的帖子

select policyno from prpcitemkind where kindcode in ('A','BZ','B',D1');
应该是这个意思吧?

qza 发表于 2009-10-10 13:08

一个保单号policyno承保了多个险别kindcode,

liaosnet 发表于 2009-10-10 13:20

回复 #4 qza 的帖子

那你应该用 保单号 + 险别 来查,需不是仅用 险别

看你的意思:你是要查找包含A,B,BZ,D1这4个险别的所有保单号吧.

liaosnet 发表于 2009-10-10 13:32


kindcode不等于BZ的policyno怎么也被提出来了?老大们
就是想取同时满足kindcode=A,B,BZ和D1的所有policyno,怎么写啊?


只要policyno下的kindcode中包含A,B,BZ,D1 这4种就会出来了,也许这个policyno还包含其它的.

qza 发表于 2009-10-10 14:10

回复 #5 liaosnet 的帖子

是你说那样,那这个语句怎么写啊?

liaosnet 发表于 2009-10-10 14:13

原帖由 qza 于 2009-10-10 14:10 发表 http://bbs2.chinaunix.net/images/common/back.gif
是你说那样,那这个语句怎么写啊?

就你自己寫的~

qza 发表于 2009-10-10 14:19

回复 #8 liaosnet 的帖子

我用exists的有一个policyno没有承保BZ

liaosnet 发表于 2009-10-10 14:36

原帖由 qza 于 2009-10-10 14:19 发表 http://bbs2.chinaunix.net/images/common/back.gif
我用exists的有一个policyno没有承保BZ

看一下日期限制吧~你的這個日期限制是A的日期限制,並不是BZ的日期限制,看一下BZ的日期是不是在這之前。。
页: [1] 2
查看完整版本: sql请教,郁闷了。