Mysql查询可基于字段数的数量将一个表中的记录转换为另一表中的记录数

佩尤什·潘迪(Peeyush Pandey)

我想要mysql中的查询,可以根据第一个表中的字段值将一个表中的记录转换为另一个表中的各种记录

我有一个表Table1,其中包含诸如

ID Name Address1 Address2 Address3 Address4

1  A    abc      qwe      wer      rty
2  T    xcv  dfgg     kkkl     
3  V    fgh
4  G    tyn  mfg      uio
.
.

另一个表Table2的字段为

ID AddressNumber Address
1   1            abc
1   2            qwe
1   3            wer
1   4            rty
2   1            xcv
2   2            dfgg
2   3            kkk1
3   1            fgh
.
.

只是表之间的一对多关系,即。一个ID可以有多个地址(最多4个,至少1个)。

术语

更新:如果要取消第一个表并将结果插入到另一个表中,则可以通过这种方式进行

INSERT INTO table2 (id, AddressNumber, Address)
SELECT id, 
       AddressNumber,
       CASE AddressNumber 
          WHEN 1 THEN Address1
          WHEN 2 THEN Address2
          WHEN 3 THEN Address3
          WHEN 4 THEN Address4
       END Address
  FROM table1 t CROSS JOIN
(
  SELECT 1 AddressNumber UNION ALL
  SELECT 2 UNION ALL
  SELECT 3 UNION ALL
  SELECT 4 
) i
HAVING Address IS NOT NULL
 ORDER BY id, AddressNumber;

结果table2

| ID | ADDRESSNUMBER | 地址| 
| ---- | ------------------- | --------- | 
| 1 | 1 | abc | 
| 1 | 2 | qwe | 
| 1 | 3 | wer | 
| 1 | 4 | rty | 
| 2 | 1 | xcv | 
| 2 | 2 | dfgg | 
| 2 | 3 | kkkl | 
| 3 | 1 | fgh | 
| 4 | 1 | tyn | 
| 4 | 2 | 制造| 
| 4 | 3 | uio |

这是SQLFiddle演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

flask-sqlalchemy:查询一个表中的记录,而另一表中没有相关记录(或某个值的记录)

来自分类Dev

将记录添加到从另一个表获取数据的字段中

来自分类Dev

MySQL从一个表中查询最新记录,但从另一个表中查询顺序

来自分类Dev

查询以基于一个字段从表中获取记录,并检查该字段是否不是-1

来自分类Dev

从一个表中选择记录,并使用另一表中的列对结果进行排序

来自分类Dev

根据另一个表中的记录值将记录插入表中

来自分类Dev

Left Join / IS NULL如何消除一个表中存在而不是另一表中的记录?

来自分类Dev

如何基于另一个表中的两个日期字段获取一个表中的记录数

来自分类Dev

从一个表中选择与客户或另一表中的“ Customers”子项相关联的票证记录

来自分类Dev

将记录插入到表中,其中一个来自另一表

来自分类Dev

SQL查询以在一个表中搜索一条记录,并将其替换为另一张表中的多条记录

来自分类Dev

如何基于一个表与另一个数据库中的同一表更新数据库中的表记录?

来自分类Dev

如何将一个记录转换为两个记录,然后将其插入表中?

来自分类Dev

如何从一个表中选择在另一表中由于某种条件而在另一表中不存在的所有记录?

来自分类Dev

从另一个表更新表中的记录

来自分类Dev

SQL:一个表中的所有记录,以及另一表中的所有记录,包括null

来自分类Dev

MySQL查询可根据另一个表中的记录将记录插入表中

来自分类Dev

如何将一个记录与同一表中的另一个记录相关联?

来自分类Dev

将一个表中字段的值用作另一表中字段的列名

来自分类Dev

MYSQL单一查询,可从一个表中检索单行,也可从另一表中检索多个行作为单个字段

来自分类Dev

MySQL查询-一个表中的单行与另一表中的多行

来自分类Dev

如何将一个表中的数据移动到30天以上记录的另一表中?

来自分类Dev

根据另一个表中记录的值将记录插入表中

来自分类Dev

如何基于另一个表的结果在MySQL中循环插入记录

来自分类Dev

将SQL表ID转换为PHP中的另一个字段

来自分类Dev

从同一个表中获取记录数时如何编写mysql内部查询

来自分类Dev

按多列显示一个表中不在另一表中的记录

来自分类Dev

计算一个表中与另一表中条件匹配的记录

来自分类Dev

计算另一个表中记录数的查询

Related 相关文章

  1. 1

    flask-sqlalchemy:查询一个表中的记录,而另一表中没有相关记录(或某个值的记录)

  2. 2

    将记录添加到从另一个表获取数据的字段中

  3. 3

    MySQL从一个表中查询最新记录,但从另一个表中查询顺序

  4. 4

    查询以基于一个字段从表中获取记录,并检查该字段是否不是-1

  5. 5

    从一个表中选择记录,并使用另一表中的列对结果进行排序

  6. 6

    根据另一个表中的记录值将记录插入表中

  7. 7

    Left Join / IS NULL如何消除一个表中存在而不是另一表中的记录?

  8. 8

    如何基于另一个表中的两个日期字段获取一个表中的记录数

  9. 9

    从一个表中选择与客户或另一表中的“ Customers”子项相关联的票证记录

  10. 10

    将记录插入到表中,其中一个来自另一表

  11. 11

    SQL查询以在一个表中搜索一条记录,并将其替换为另一张表中的多条记录

  12. 12

    如何基于一个表与另一个数据库中的同一表更新数据库中的表记录?

  13. 13

    如何将一个记录转换为两个记录,然后将其插入表中?

  14. 14

    如何从一个表中选择在另一表中由于某种条件而在另一表中不存在的所有记录?

  15. 15

    从另一个表更新表中的记录

  16. 16

    SQL:一个表中的所有记录,以及另一表中的所有记录,包括null

  17. 17

    MySQL查询可根据另一个表中的记录将记录插入表中

  18. 18

    如何将一个记录与同一表中的另一个记录相关联?

  19. 19

    将一个表中字段的值用作另一表中字段的列名

  20. 20

    MYSQL单一查询,可从一个表中检索单行,也可从另一表中检索多个行作为单个字段

  21. 21

    MySQL查询-一个表中的单行与另一表中的多行

  22. 22

    如何将一个表中的数据移动到30天以上记录的另一表中?

  23. 23

    根据另一个表中记录的值将记录插入表中

  24. 24

    如何基于另一个表的结果在MySQL中循环插入记录

  25. 25

    将SQL表ID转换为PHP中的另一个字段

  26. 26

    从同一个表中获取记录数时如何编写mysql内部查询

  27. 27

    按多列显示一个表中不在另一表中的记录

  28. 28

    计算一个表中与另一表中条件匹配的记录

  29. 29

    计算另一个表中记录数的查询

热门标签

归档