我在Mysql中有一个查询,我在这里寻求你的输入。
我在mysql中有两个表T1和T2。
两者都包含一个公共id列,其值如下所示 -
T1 - 1, 2, 3, 3, 4, 4, 5
和
T2 - 1, 2, 3, 4, 4, 5
我正在尝试查询表T1,以下列方式输出 -
1, 2, 3, 4, 4, 5
如果在T1和T2之间存在一对一的关系,如值1,2,5,则从T1中选择它。如果T1和T2之间存在多对一关系,如T1中的值3,其中T2中有一个值,那么从T1中只选择一个值。 T1和T2中的值为4的多个,因为它来自T1。
答案 0 :(得分:0)
SELECT T3.ID FROM (SELECT DISTINCT ID FROM T1) T3
INNER JOIN T2 ON T3.ID = T2.ID
它将T1的结果折叠成一个不同的集合,然后根据T2中的匹配对其进行重新膨胀。