将两个表中的类似数据合并到一个表中

时间:2013-07-26 07:01:42

标签: php mysql

这是我需要做的事情的例证..

表1

  `----------
    ID     VALUE

    123    A

    123    B

    123    C

    123    D

    123    E

    123    F

    ----------`

表2

----------
ID        VALUE    STATUS

123        A       POSTED

123        B       POSTED

123        C       CANCEL

----------

输出

----------
VALUE     ID

A         POSTED

B         POSTED

C         CANCEL

D

E

F

----------

当我搜索ID时,表1中具有ID的所有内容都需要在表2中有重复时显示,TABLE1中不存在的信息应该合并以显示在OUTPUT TABLE中...只能使用ID

进行搜索

任何人都可以给我一个关于如何在PHP中实现这一点的开头。,mysql是数据库。,我是新手。,提前感谢.. :))

这些表来自两个不同的数据库..

4 个答案:

答案 0 :(得分:1)

select t1.id, t1.value,t2.status from table1 t1 
left join table2 t2 on 
t1.value = t2.value where t1.id = <urID>

fiddle

如果表位于两个数据库中:

select t1.id, t1.value,t2.status from db1.table1 t1 
left join db2.table2 t2 on 
t1.value = t2.value where t1.id = <urID>

答案 1 :(得分:0)

您需要连接两个表(您的连接条件是id和value)。因此,我们按照该标准加入表格并选择

select table1.id, table1.value, table2.status from table1 inner join table2 on (table1.id=table2.id AND table1.value=table2.value)

在Where子句中加入后,您可以指定条件

select table1.id, table1.value, table2.status from table1 inner join table2 on (table1.id=table2.id AND table1.value=table2.value) WHERE table.id = 123

答案 2 :(得分:0)

我认为需要一个简单的LEFT JOIN

SELECT TABLE_1.VALUE,TABLE_2.STATUS FROM TABLE_1 LEFT JOIN TABLE_2 ON TABLE_1.ID = TABLE_2.ID


SELECT D1.TABLE_1.VALUE, D2.TABLE_2.STATUS FROM D1.TABLE_1 LEFT JOIN D2.TABLE_2 ON D1.TABLE_1.ID = D2.TABLE_2.ID

答案 3 :(得分:0)

试试这个

  

从table1中选择*作为tbl1将连接表2作为tbl2   在tbl1.id = tbl2.id和tbl1.value = tbl2.value