gpt4 book ai didi

php - 如何从Mysql中基于总销售额的每个用户名3表中获取每个数据

转载 作者:行者123 更新时间:2023-11-29 16:02:58 25 4
gpt4 key购买 nike

我尝试从 3 个表中获取数据,即:“artist”、“sales”、“claim”

所以我想尝试获取每个“艺术家”的收入(来自总“销售额”),以及他们是否已声明一些销售额,这些数据保存在表“声明”中

这是每个表的结构:

*Table Artist:
Artist_id
Artist_name
Artist_profile
*Table Sales :
Sales_id
Artist_name
Sales_amount
*Tables Claim :
Claim_id
Artist_name
Claim_amount

我尝试了一些查询,但没有得到我预期的结果,某些值在“Claim_amount”列中循环,假设表“sales”有多个数据,表“claim”还没有数据,因为没有 claim 历史记录。

SELECT artist.member_id,artist.profile_pict, sales.artist_name, 
SUM(sales.amount) AS total_sales ,claim.claim_amount

FROM sales,artist,claim

WHERE sales.artist_name OR claim.artist_name = artist.username

GROUP BY sales.artist_name
ORDER BY total_sales DESC

我希望输出类似于示例:

Artis_id | Artist_profile | Artist_name  | Total_amount | Total_claim
1 Artist A My Artist 1 100 50
2 Artist B My Artist 2 200 null (because there is no history)
3 Artist C My Artist 3 300 150

最佳答案

使用左连接

SELECT a.member_id,a.profile_pict, a.artist_name, 
SUM(sales.amount) AS total_sales ,sum(claim_amount) as total_claim
FROM artist a left join sales s on a.Artist_name=s.Artist_name
left join claim c on c.Artist_name= a.Artist_name
GROUP BY a.member_id,a.profile_pict, a.artist_name
ORDER BY total_sales DESC

注意:最好使用显式连接而不是逗号分隔连接

关于php - 如何从Mysql中基于总销售额的每个用户名3表中获取每个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56015239/

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