结合SQL中的不同表

时间:2018-09-16 18:55:17

标签: php mysql sql

我有3个表,我想合并成一个空表,

Table A contains:
a_id | name
1  |  john
2  |  mic
3  |  rog

Table B contains:
    b_id | name
    10  |  rims
    11  |  sara

Table c contains:
        c_id | name
        20  |  johny
        21  |  sun
        22  |  rose
        23  |  pash
        24  |  ed
        25  |  ese

,我有一个空表D,该表将具有上述所有三个表的ID: 表D的列是;

a_id  | b_id | c_id

如何在表D中插入所有ID?和 当我运行查询时。

Select*from table_D

它应该显示表(a,b,c)中的所有ID。

2 个答案:

答案 0 :(得分:1)

您的问题相当模糊,因为您未指定d的外观。让我假设您是所有id的笛卡尔积。这似乎是一个合理的假设。然后:

insert into d (a_id, b_id, c_id)
    select a.a_id, b.b_id, c.c_id
    from a cross join b cross join c;

Here是演示它的一个月季。

答案 1 :(得分:1)

这是您要的内容:

INSERT d
SELECT a.id, b.id, c.id
FROM a CROSS JOIN b CROSS JOIN c

尽管我怀疑那是你想要的!