2017-05-30 128 views
-5
AHLBLOCKNO AHLSLNOHHD SLNOMEMBER NAME  GENDERID 
0193  0073  001   BABLA  MALE 
0193  0073  002   VINAYBHAI MALE 
0193  0073  004   SANJANABEN FEMALE 
0193  0073  005   VISHALBHAI MALE 
0193  0105  001   ASHVINBHAI MALE 
0193  0105  003   PARESHBHAI MALE 
0193  0105  002   ARUNABEN FEMALE 
0193  0143  001   CHHAKABHAI MALE 
0193  0143  003   FAKIRBHAI MALE 
0193  0143  004   SUMITRABEN FEMALE 
0193  0143  005   PANKAJBHAI MALE 
0193  0143  002   VANITABEN FEMALE 
0193  0143  007   PRIYANSHAN FEMALE 
0193  0162  001  RAMANBHAI MALE 
0193  0162  003  KAVITABEN FEMALE 
0193  0162  005   SANJAYBHAI MALE 
0193  0162  004  SUNILBHAI MALE 
0193  0162  002  BIPINBHAI MALE 
0193  9999  001  bhimjibhai MALE 

在上面的表中,我想要得到这样的AHLSLNOHHD其中没有genderid等于女性。关于sql查询

输出预计为:

AHLBLOCKNO AHLSLNOHHD SLNOMEMBER NAME  GENDERID 
0193  9999  001  bhimjibhai MALE 
+1

你尝试过这么远吗?如果你没有投入时间来展示你的努力,你会收到downvotes而不是帮助在这里 – Jan

+0

我是新来的sql先生,并尝试了很多有限的知识......后学到一些新的概念 –

回答

0

这应该做的伎俩:

# SELECT all columns from your table 
SELECT t1.* FROM tablename t1 
    # LEFT OUTER JOIN to same table 
    LEFT JOIN tablename t2 ON 
     # WITH SAME AHLSLNOHHD 
     t1.AHLSLNOHHD = t2.AHLSLNOHHD 
     # AND where GENDERID is FEMALE 
     AND t2.GENDERID = 'FEMALE' 
# NOW only consider rows where no such join (with female) could be found: 
WHERE t2.AHLSLNOHHD IS NULL 
+0

没有先生,它没有工作。我想要的查询是将AHLBLOCKNO与AHLSLNOHHD配对,然后在每个独特配对中需要找到该配对中的任何SLNOMEMBER的GENDERID是否等于女性?如果是,那么离开这对,并显示其余的双。或者在其他方面,我想找出所有SLNOMEMBER都是男的对。 –

+0

好吧......如果你在你的问题中解释了这个问题,那么它会很好......请编辑你的问题以突出你真正需要查询的内容...... – Jan

+0

这个连接所做的是选择所有没有女性记录的行存在这个AHLSNOHHD – Jan

0
SELECT * FROM Table1 WHERE Table1.AHLBLOCKNO NOT IN (SELECT AHLBLOCKNO FROM Table1 where GENDERID = 'FEMALE')