Sql 如何在不重复行的情况下,在同一字段的同一个表上获取具有真实性的数据
我有三个表,分别是T1、T2、T3 T1与T3在字段Sql 如何在不重复行的情况下,在同一字段的同一个表上获取具有真实性的数据,sql,sql-server-2012,Sql,Sql Server 2012,我有三个表,分别是T1、T2、T3 T1与T3在字段Id上有关系,同样T2与T3在字段Id上有关系。我想要所有3个匹配的 例如: T1 Id otId ----------- 1 5 2 6 3 7 T2 ID pmId ------------- 1 1 2 3 3 4 T3 ID ITEM FORMFLAG ------------------------- 1
Id
上有关系,同样T2与T3在字段Id
上有关系。我想要所有3个匹配的
例如:
T1
Id otId
-----------
1 5
2 6
3 7
T2
ID pmId
-------------
1 1
2 3
3 4
T3
ID ITEM FORMFLAG
-------------------------
1 C PM
3 DC PM
4 OT PM
5 DI OT
6 PU OT
7 D OT
我想要
ID OT PM
------------------
1 DI OT
2 PU C
3 D DC
请尝试此查询
SELECT T1.id AS `ID`, T1.otId AS `OT`, T2.pm AS `PM`
FROM T1, T2, T3
WHERE T1.id = T2.id
AND T1.id = T3.id;
可以使用连接。试试这个
SELECT
TAB3.ID
,TAB3.ITEM AS OT
,TAB3.FORMFLAG AS PM
FROM
T1 TAB1
INNER JOIN
T3 TAB3
ON
TAB1.ID = TAB3.ID
INNER JOIN
T2 TAB2
ON
TAB3.ID = TAB2.ID
请你用表格形式填写一下,然后分享一下,t1和t2之间没有关系。t1与t3相关,t2与t3相关如果
t1
与t3
相关,t3
与t2
相关,这不意味着t1
与t2
相关吗?(及物性)