php - 如何通过连接两个表而不重叠具有相同关系 ID 的记录来创建 TableView

标签 php mysql codeigniter

<分区>

我有一个表来存储所有代理事件,如下所示,

+----+---------+-------------+-------------+
| id | subject |    type     | relation_id |
+----+---------+-------------+-------------+
|  1 | Call    | lead        |          25 |
|  2 | Visit   | Opportunity |          25 |
+----+---------+-------------+-------------+
怎么可能做出这样的观点。
+----+---------+-----------+------------------+
| id | Subject |   lead    |   Opportunity    |
+----+---------+-----------+------------------+
|  1 | Call    | lead_name |                  |
|  2 | Visit   |           | Opportunity_name |
+----+---------+-----------+------------------+

最佳答案

您需要使用 CASE 用于获得所需的结果:

SELECT id,subject,
CASE WHEN type='lead' THEN 'lead_name' ELSE '' END as lead,
CASE WHEN type='Opportunity' THEN 'Opportunity_name' ELSE '' END as Opportunity
FROM mytable

关于php - 如何通过连接两个表而不重叠具有相同关系 ID 的记录来创建 TableView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35884967/

相关文章:

mysql - 一组的第二个和第三个日期时间的平均时间差

mysql - SQL统计一对多关系中不匹配的记录

css - 无法在 Codeigniter 中加载 css 样式表

php - 处理为一行插入的多个字段

php - 迁移 : Cannot add foreign key constraint in Laravel 6

php - PHP AJAX错误处理

php - 如何从 mysql 表格单元格中检索数据并将其放入 php 中的变量中?

Codeigniter 一笔交易有两种模型

php - 从文本字段将值添加到表中

javascript - magento2中的媒体存储浏览器字段