【发布时间】:2013-04-09 05:27:38
【问题描述】:
我有 2 个表我想合并到第三个表中我想纯粹作为 MySQL 查询而不是选择行并使用 PHP while() 来构建第三个表。
表 1 包含以下内容
ID Name
1 A
2
3
表 2 包含以下内容
ID Desc
10
15 B
20
我想编写一个查询语句来生成以下组合表,但我只希望新的 Desc 包含表 1 中的 Name 或表 2 中的 Desc 中的非空白值,表 2 优先于表 1如果两个表都包含非空白
ID1 ID2 Desc
1 10 A
1 15 B
1 20 A
2 10
2 15 B
2 20
3 10
3 15 B
3 20
这是否可以作为 MySQL 查询我应该使用 PHP 方法吗?
谢谢。
【问题讨论】:
-
和这个问题基本一样:stackoverflow.com/questions/2112043/…
-
大多数与数据相关的过程都可以在纯 SQL 中实现...请参阅 here 以获得答案。
-
好吧,也许是@LawsonCulver。但是我不想“创建”一个新表本身...我想通过将它重置为表 1 和表 2 中的数据来刷新一个已经存在的表。它会是一个“更新表结果为... ” 而不是?
-
如果您要“重置”数据,您不妨先删除行,然后使用 INSERT(只要没有需要保留的内容。)如果您不这样做不想在那里丢失其他东西,它变得更加复杂。当它存在时你必须更新,当它不存在时你必须插入。