gpt4 book ai didi

php - 在 php 中分组以构建报告

转载 作者:行者123 更新时间:2023-11-30 23:06:15 25 4
gpt4 key购买 nike

我有一个包含以下列的USER

id,name 

和另一个表 LISTING 具有以下列。

list_id,user_id,type

LISTING 表有一个用户的多条记录。我使用 php 运行以下查询以获取每个用户的列表。

SELECT 
USER.ID AS ID,
NAME,
TYPE (TYPE can be A or B)
FROM
USER,
LISTING
WHERE
LISTING.USER_ID = USER.ID
GROUP BY USER.ID
ORDER BY USER.ID DESC

现在,问题是如果用户在 LISTING 表中有类型 a 和 b 的条目,我想在我的报告中显示“两者”,如果没有类型 b 的用户的条目,则只显示 A,依此类推。

请帮忙!!

数据:

用户

+---+------
|id | name|
+---+------
| 1 | jamy|
| 2 | jazz|
| 3 |leo |
+---+-------

LISTING

+---+------------+--------+
| id| user_id |type |
+---+------------+--------+
| 1 | 1 | A |
| 2 | 2 | A |
| 3 | 2 | B |
| 4 | 3 | B |
| 5 | 1 | A |
+---+------------+-------+

现在我想要的报告应该是:

+---+------------+
|NAME| TYPE |
+---+------------+
|JAMY| ONLY A |
|JAZZ| BOTH |
|LEO | ONLY B |
+---+------------+

最佳答案

你可能需要 LEFT JOIN

  SELECT 
USER.ID AS ID,
NAME,
TYPE
FROM USER LEFT JOIN LISTING
ON LISTING.USER_ID = USER.ID
GROUP BY USER.ID
ORDER BY USER.ID DESC

关于php - 在 php 中分组以构建报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21778334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com