如何基于Just One Record进行过滤?

时间:2017-09-28 18:37:49

标签: sql sql-server database where

我正在尝试基于2个组件编写查询。我有两个名为'Plan_code'的字段和另一个名为'PolicyNum'的字段。我有多个'PolicyNum'记录,但它们会有独特的'Plan_code'。我想要找到的是,如果其中一个'PolicyNum'重复项的'Plan_Code'为1,则拉出所有PolicyNum重复项。当我写下面的查询

function addToPlaylist(id, startPos, endPos) {
  var details = {
    videoId: id,
    kind: 'youtube#video'
  }
  if (startPos != undefined) {
    details['startAt'] = startPos;
  }
  if (endPos != undefined) {
    details['endAt'] = endPos;
  }
  var request = gapi.client.youtube.playlistItems.insert({
    part: 'snippet',
    resource: {
      snippet: {
        playlistId: playlistId,
        resourceId: details
      }
    }
  });
  request.execute(function(response) {
    $('#status').html('<pre>' + JSON.stringify(response.result) + '</pre>');
  });
}

我只会得到一条记录,其中PolicyNum将具有Plan_Code = 1.我需要PolicyNum的所有重复项进行此分析。任何帮助,将不胜感激。感谢。

2 个答案:

答案 0 :(得分:1)

一种方法使用existsin

SELECT ia.*
FROM [dbo].[IMS_IFCRP01_AA] ia
WHERE ia.PolicyNum IN (SELECT ia2.PolicyNum 
                       FROM [dbo].[IMS_IFCRP01_AA] ia2
                       WHERE ia2.Plan_Code = '1'
                      );

答案 1 :(得分:0)

如果您需要公开的PolicyNum。

SELECT 
    PolicyNum
FROM [dbo].[IMS_IFCRP01_AA]
WHERE
   Plan_Code = '1' 
GROUP BY 
    PolicyNum
HAVING COUNT(*) > 1