当前位置: 代码迷 >> Sql Server >> 一个稍难的SQL数据婚配语句
  详细解决方案

一个稍难的SQL数据婚配语句

热度:64   发布时间:2016-04-24 10:20:08.0
一个稍难的SQL数据匹配语句
现有一个数据表P1,内容如下
AA列     BB列           CC列
------------------------------------------
103065+2         13014176             1
108399+20         13014176             1
109041+1         13014176             1
110545+103+1   13014176              0.5
110545+104       13014176             3
110545+105+1   13014176             5
110545+106       13014176              1
112036               13014176               1
112064               13014176               1
23014176          13014176                1
60109025+1      23014179                1
61113080          23014179                5
61113081        23014179                2
110545+105+1   23014179               1
110545+106       23014179               2
108399+20         23014179              1
109041+1         23014179              1

另一数据表T1,内容如下
XX列               KK列
-----------------------------------
103065+2                    1
108399+20                    1
109041+1                  1
110545+103+1             0.5
110545+104                 3
110545+105+1             5
110545+106                 1
112036                        1
112064                       1
23014176                    1

现要用一个SQL语句,
以T1中XX列和KK列为依据,找出在P1表中AA=XX,BB=KK,且符合条件的记录中BB列均相同,同时P1表中符合条件的记录不再有其他的记录,也就是说行数与T1表相同
谢谢
------解决方案--------------------
BB=KK???应该是CC=KK吧
------解决方案--------------------
SELECT B.* 
FROM T1 AS A
JOIN P1 AS B ON A.XX=B.AA AND A.KK=B.CC
------解决方案--------------------
上面的那些数据中,查询结果是什么?
------解决方案--------------------
select a.* from p1 as a inner join t1 as b on a.aa=b.xx and a.bb=b.kk group by aa,bb,cc having count(1)=
(select count(1) from t1)
  相关解决方案