![](/img/trans.png)
[英]MySQL Select, column with same name from multiple tables, order by another column with same name
[英]Select from multiple tables on reference table with same column name MYSQL/PHP
我需要一些 MySQL/PHP 方面的帮助。 从代码的角度来看,哪个执行速度更快。
我有下表
1. table_content
--------------------------------
id | section | content_id
--------------------------------
1 | A | 15
2 | B | 25
3 | A | 9
--------------------------------
2. table_a
--------------------------------
id | name | message
--------------------------------
9 | John | Hello Everyone
15 | Smita | Hi
17 | Vinayak | How are you?
--------------------------------
3. table_b
--------------------------------
id | label | description
--------------------------------
1 | David | D1
5 | Alia | D2
25 | Vinay | D3
--------------------------------
我有上面的表格结构。 对我来说table_content
是主表。 我想通过 MySQL/PHP [As array and section as key] 下面的输出。
Output
------------------------------------------------
id | section | name | message
------------------------------------------------
1 | A | Smita | Hi
2 | B | Vinay | D3
3 | A | John | Hello Everyone
------------------------------------------------
我已经尝试过 SWITCH 案例。 但没有得到确切的输出。
哪个是更好的性能和更快的执行? 使用 MySQL 或 PHP。 我有成千上万的这样的数据。
请帮我解决这个问题。
应该通过 JOIN 实现。
还要确保您配置了更合适的索引,否则当您获得大量数据时,它的性能会很差。
正如我在评论中发布的那样,您需要Join
两个表,必须是UNION
SELECT tc.`id`, tc. `section` ,t1.`message` FROM table_content tc JOIN (SELECT `id`, `name`, `message` FROM table_a UNION SELECT `id`, `label`, `description` FROM table_b) t1 ON tc.`content_id` = t1.`id`
\n身份证 | 部分 | 信息 \n -: | :------ | :-------------\n 1 | 一个 | 你好 \n 2 | 乙 | D3 \n 3 | 一个 | 大家好\n
db<> 在这里摆弄
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.