0
I have a query:
SELECT
ZIPSECvc255Zip,ZIPSECCODIServiceType
FROM towSearch_ZIP_ZipCodesSecondary
WHERE   ZIPSECCOMlAPAssignee = 57055
AND ZIPSECCODlAPStatus = 302
    AND ZIPSECCODIServiceType in (263,1012)
    AND ZIPSECADDIKey = 314105

I am getting follow result:
ZIPSECvc255Zip  ZIPSECCODIServiceType
  17001               263
  17003               1012
  17007               1012
  17003               263

我只想要一条 17003 的记录,因为它与 ZIPSECCODIServiceType(即 263,1012)都相关。如何使用查询来实现?

4

4 回答 4

0
SELECT ZIPSECvc255Zip,ZIPSECCODIServiceType
FROM towSearch_ZIP_ZipCodesSecondary
WHERE   ZIPSECCOMlAPAssignee = 57055
AND ZIPSECCODlAPStatus = 302
AND ZIPSECCODIServiceType = 263 and 
ZIPSECvc255Zip in
   (
     select ZIPSECvc255Zip FROM towSearch_ZIP_ZipCodesSecondary
      WHERE   ZIPSECCOMlAPAssignee = 57055
      AND ZIPSECCODlAPStatus = 302
       AND ZIPSECCODIServiceType = 1012
       AND ZIPSECADDIKey = 314105
   )
AND ZIPSECADDIKey = 314105
于 2013-06-05T12:09:31.520 回答
0

这应该做

SELECT ZIPSECvc255Zip FROM  
(SELECT ZIPSECvc255Zip, count(*) AS cnt
   FROM towSearch_ZIP_ZipCodesSecondary
  WHERE   ZIPSECCOMlAPAssignee = 57055
    AND ZIPSECCODlAPStatus = 302
    AND ZIPSECCODIServiceType in (263,1012)
    AND ZIPSECADDIKey = 314105
  GROUP BY ZIPSECvc255Zip)
WHERE CNT = 2

如果它们发生变化(即您在 IN 条件下有多少个数字),您将希望用您想要的尽可能多的对应关系替换数字 2。

于 2013-06-05T12:05:16.790 回答
0
SELECT DISTINCT
t1.ZIPSECvc255Zip,t1.ZIPSECCODIServiceType
FROM towSearch_ZIP_ZipCodesSecondary as t1 INNER JOIN towSearch_ZIP_ZipCodesSecondary as t2
ON (t1.ZIPSECvc255Zip = t2.ZIPSECvc255Zip AND t1.ZIPSECCODIServiceType = '263' AND t2.ZIPSECCODIServiceType = '1012')
WHERE   
t1.ZIPSECCOMlAPAssignee = 57055
AND 
t1.ZIPSECCODlAPStatus = 302
AND 
t1.ZIPSECADDIKey = 314105

http://sqlfiddle.com/#!2/325ba/9

于 2013-06-05T12:17:41.570 回答
0

我希望这将有所帮助。

SELECT
ZIPSECvc255Zip,ZIPSECCODIServiceType
FROM towSearch_ZIP_ZipCodesSecondary
WHERE  rowid = (SELECT max(rowid) FROM towSearch_ZIP_ZipCodesSecondary WHERE ZIPSECCOMlAPAssignee = 57055 AND ZIPSECCODlAPStatus = 302 
AND ZIPSECCODIServiceType in (263,1012)
AND ZIPSECADDIKey = 314105 GROUP BY count(ZIPSECvc255Zip)>1)
于 2013-06-05T12:10:46.163 回答