联接查询3个表

时间:2019-02-02 04:57:58

标签: sql sql-server join

我需要运行一个查询,该查询连接3个表并显示唯一的集合。我有3张桌子,下面是详细信息行:

Users : FName, LName, MobileNumber, STBNumber, CustID.
UserPay : STBNumber, CustID, PreviousDue, CurrentDue, ExpiryMonth, 
ExpiryYear.
Calendar: ExpiryMonth, ExpiryMonthName.

现在,查询的问题在于它两次显示了STBNumber,CustID,Month和Year列。

SELECT * 
FROM   users 
       INNER JOIN userpay 
               ON users.stbnumber = userpay.stbnumber 
       INNER JOIN calendar 
               ON userpay.expirymonth = calendar.month;

查询应显示所有表中的所有唯一列。

1 个答案:

答案 0 :(得分:0)

所以,我正在一个错误的连接。下面是解决我的问题查询:

Select Users.FName, Users.LName, Users.MobileNumber, Users.STBNumber, Users.CustID, UserPay.PreviousDue, UserPay.CurrentDue, Calendar.ExpiryMonthName, UserPay.ExpiryYear from UserPay 
INNER JOIN Users ON Users.STBNumber=UserPay.STBNumber 
INNER JOIN Calendar ON UserPay.ExpiryMonth=Calendar.ExpiryMonth