内部连接没有重复值SQL

时间:2016-11-16 14:40:44

标签: sql-server-2012 inner-join

我有两张包含这些数据的表

表1(10行) Table1

MaintRateSplit_ID   MaintChargeItem_ID
86                      256
87                      256
88                      256
89                      256
90                      256
91                      256
92                      256
93                      256
94                      256
95                      256

表2(10行) Table2

MaintChargeItem_ID  Contribution_Maximum_Value
256                       175642.00
256                       33851.00
256                       130888.00
256                       54612.00
256                       66903.00
256                       246747.00
256                       503602.00
256                       85944.00
256                       262130.00
256                       152892.00

当我尝试连接这两个表时,我得到了100行。有解决方案只能获得10行吗?

SELECT  MaintRateSplit_ID,Contribution_Maximum_Value 
FROM Table1
INNER JOIN Table2 
ON Table1.MaintChargeItem_ID = Table2.MaintChargeItem_ID

This is the desired result 
    MaintRateSplit_ID  Contribution_Maximum_Value
    86                       175642.00
    87                       33851.00
    88                       130888.00
    89                       54612.00
    90                       66903.00
    91                       246747.00
    92                       503602.00
    93                       85944.00
    94                       262130.00
    95                       152892.00

1 个答案:

答案 0 :(得分:0)

在您的查询Table1.MaintChargeItem_IDTable2.MaintChargeItem_ID中,似乎不是唯一的列。他们不会为外键约束做好准备。因此,创建Table2具有Table1的外键引用,然后尝试运行查询。您可以根据需要获得结果。

Create Table1
(MaintRateSplit_ID int NOT NULL, 
MaintChargeItem_ID int NOT NULL,
PRIMARY KEY MaintRateSplit_ID);

Create Table2
(MaintRateSplit_ID int NOT NULL, 
MaintChargeItem_ID int NOT NULL,
FOREIGN KEY (MaintRateSplit_ID) REFERENCES Table1(MaintRateSplit_ID));

完成此操作后,您可以使用Inner Join获取所需数量的元组

<强>查询:

SELECT *
FROM Table1
INNER JOIN Table2
ON Table1.MaintRateSplit_ID=Table2.MaintRateSplit_ID;

要了解外键约束,请浏览以下链接: http://www.mysqltutorial.org/mysql-foreign-key/

要了解联接,请通过以下链接: https://blog.codinghorror.com/a-visual-explanation-of-sql-joins/