从差异表中选择匹配列

时间:2011-02-14 01:47:57

标签: c# sql variable-assignment

尝试获取过滤结果的标题 POS俱乐部冠名和项目标题 过滤记录匹配memberid和两个日期之间

这是我的表结构

tblPosClub

  • PosClubID
  • ClubID
  • ,STAFFID
  • MEMBERID
  • 的ItemID
  • ItemQuantity
  • ItemTotal
  • PosClubDate

tblClub

  • ClubID
  • ClubTitle
  • ClubDesc

tblItem

  • 的ItemID
  • STOREID
  • ItemTitle
  • ItemDesc
  • ItemQuantity
  • ITEMPRICE

我想要检索

      * 
 From tblPosClub
Where (tblPosClub.MemberID = @Memberid) 
  AND (tblPosClub.PosClubDate >= @AfterDate) 
  AND (tblPosClub.PosClubDate < @BeforeDate)

...和tblClub.ClubTitle + tblItem.ItemTitle匹配根据过滤的行 我可以知道我应该用这个sql命令修改什么?

    SELECT tblPosClub.PosClubID, 
           tblPosClub.ClubID, 
           tblPosClub.MemberID, 
           tblPosClub.ItemID, 
           tblPosClub.ItemQuantity, 
           tblPosClub.ItemTotal, 
           tblPosClub.PosClubDate, 
           tblClub.ClubTitle, tblItem.ItemTitle
      FROM tblPosClub 
CROSS JOIN tblClub 
CROSS JOIN tblItem
     WHERE (tblPosClub.MemberID = @Memberid) 
       AND (tblPosClub.PosClubDate >= @AfterDate) 
       AND (tblPosClub.PosClubDate < @BeforeDate)

Thx in Advance = D

1 个答案:

答案 0 :(得分:1)

使用INNER JOIN

FROM tblPosClub INNER JOIN tblClub
    ON tblPosClub.ClubID = tblClub.ClubID
  INNER JOIN tblItem
    ON tblPosClub.ItemID = tblItem.ItemID

有关各种联接类型的详细信息,请参阅Wikipedia