php - 如何在 MySQL 中检索多个表并格式化其中的一些行?

标签 php mysql codeigniter

我有以下 3 个表:

自定义数据表:

+----+----------------------+
| id | name                 |
+----+----------------------+
| 13 | ACCOUNT NAME         |
| 14 | ACCOUNT NO           |
| 15 | ID NUMBER            |
+----+----------------------+

自定义数据值表:

+----------------+-----------------+-----------+
| custom_data_id | value           | member_id |
+----------------+-----------------+-----------+
|             13 | Ivy Jane Mosendi|        33 |
|             14 | 2199030092      |        33 |
|             15 | 25917781        |        33 |
+----------------+-----------------+-----------+

成员表:

+----+----------------------------+
| id | name                       |
+----+----------------------------+
| 30 | John Doe                   |
| 31 | Willy Ong                  |
| 32 | James Reid                 |
| 33 | Ivy Jane Mosendi           |
+----+----------------------------+

我想要以下结果:

+----+------------------+------------------+-------------+-------------+
| id | name             | ACCOUNT NAME     | ACCOUNT NO  | ID NUMBER   |
+----+------------------+------------------+-------------+-------------+
| 33 | Ivy Jane Mosendi | Ivy Jane Mosendi | 2199030092  | 25917781    |
+----+------------------+------------------+-------------+-------------+

如何通过 mysql 查询获得这个结果?

最佳答案

我终于破解了。谢谢大家

SELECT m.name
        , MAX(CASE WHEN cf.name = 'ACCOUNT NAME' Then cfv.string_value END) As 'ACCOUNT NAME'
        , MAX(CASE WHEN cf.name = 'ACCOUNT NO' Then cfv.string_value END) As 'ACCOUNT NO'
        , MAX(CASE WHEN cf.name = 'ID NUMBER' Then cfv.string_value END) As 'ID NUMBER'
     FROM custom_field_values cfv
     INNER JOIN custom_fields cf
         ON cf.id = cfv.field_id
     INNER JOIN members m
         ON m.id =  cfv.member_id
     WHERE m.id = 33

关于php - 如何在 MySQL 中检索多个表并格式化其中的一些行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39971495/

相关文章:

javascript - 基础5遵守正常提交

PHP 按钮不起作用

php - Laravel Passport Auth 在独立项目上运行基于密码的 token 身份验证时卡住

php - 两个 SELECT/WHERE 子句组合在一起?

python - 将 XML 加载到 MySQL

php - 两个相同模型/表之间的两种关系

使用 range() 和 foreach 循环的 PHP 数字数组

mysql - 无法在redmine中启动mysql

php - 来自两个表的数据并加入 codeigniter

php - 在 Controller 方法中调用一次 mkdir()