在非独特id(MySql)上加入Distinct Id

时间:2013-08-27 09:21:58

标签: mysql sql join left-join

我正在尝试将FROM中的子查询中的不同ID加入到具有相同ID的表中,但是在重复创建整个实体时不同。怎么能这样做?我的所有尝试都持续相当于非distinct-id-table中的单个ID。

例如:

Table 1
ID    val_string    val_int    val_datetime
1     null          3435         null
1     bla           null         null
1     null          null         2013-08-27
2     null          428          null
2     blob          null         null
2     null          null         2013-08-30
etc. etc. etc. 

Virtual "v_table" from SubQuery
ID
1
2

现在,如果我按照以下方式创建查询:

SELECT t.ID, t.val_string, t.val_int, t.val_datetime
FROM table1 AS t
    JOIN (subquery) AS v_table
        ON t.ID = v_table.ID

我得到了结果:

Result Table: 
ID    val_string    val_int    val_datetime
1     null          3436       null
2     null          428        null

我想要的是根据这个例子看到整个表1。 (实际查询有更多参数,但这是我坚持的问题)。

我如何确保从表1中获取ID与虚拟表中的ID匹配的所有内容?

1 个答案:

答案 0 :(得分:1)

SELECT t.ID, t.val_string, t.val_int, t.val_datetime
FROM table1 AS t
    LEFT JOIN (subquery) AS v_table
        ON t.ID = v_table.ID

Sample fiddle