重复结果行

时间:2015-01-31 23:37:46

标签: sql sql-server

我有三张这样的表

LgDivision

  LgDivID LgDivName PBID 

    1      HS        1
    2      HN        1
    3      HE        1

PollingBooth

   PBID PBName

    1     HomagamaPB
    2     PanagodaPB

PollingBoothElection

     elecID  PBID 
       1      2
       1      1
       2      2

我想选择LgDivName,其中PollingBooth与PollecBoothElection一起使用elecID 1。

这是我尝试过的。

       SELECT LG.LGDivName,PB.PBName
       FROM LGDivision LG
       INNER JOIN PollingBooth PB ON LG.PBID=PB.PBID
       INNER JOIN PollingBoothElection PBE ON PB.PBID=PB.pbID
       WHERE PB.PBID IN (SELECT pbID FROM PollingBoothElection WHERE   LG.LgDivID=2 AND PBE.elecID=1)

虽然我得到了结果但我得到了一个重复的行。这是为什么? 如何修改它以获得单个结果,因为我只输入1 LgDivID。

1 个答案:

答案 0 :(得分:1)

PollingBoothElection ON的{​​{1}}子句使用了错误的别名,这两列都来自表Inner Join,您也不需要PB在这种情况下。}

试试这个..

IN