gpt4 book ai didi

php - 如何在 MySQL 中编写以下输出的查询

转载 作者:行者123 更新时间:2023-11-29 11:53:28 24 4
gpt4 key购买 nike

要求:我想显示特定B_Name的股票,如果日期相同,它将显示在同一行,如果日期不同,它将显示在不同行,并且将指定“-”

两张 table ,分别是 gr 和磨砂

table gr:
B_Name B_Date B_Qty
A 2015-08-11 15000
A 2015-08-15 25000
A 2015-08-31 20000

磨砂 table :

M_Name       M_Date       M_Qty   
A 2015-08-11 15000
A 2015-08-25 25000
B 2015-08-20 20000
A 2015-08-15 15000

以下输出:

             for Particular B_Name like here (A)
Date Inward(B_Qty) Outward(M_Qty)
2015-08-11 15000 15000
2015-08-15 25000 15000
2015-08-31 20000 -
2015-08-25 - 25000

我尝试了加入和联合,但它没有按照我的要求工作。

最佳答案

您希望表 gr 中的记录与表freded 中没有匹配项,反之亦然。所以你需要一个完整的外连接,而 MySQL 不支持。

可能的解决方法:首先使用联合查询获取所有日期,然后再次外部连接表。

select 
alldates.value as "Date",
coalesce(g.b_qty, '-') as "Inward(B_Qty)",
coalesce(f.m_qty, '-') as "Outward(B_Qty)"
from
(
select b_date as value from gr
where b_name = 'A'
union
select m_date from frosted
where m_name = 'A'
) all_dates
left join gr g on g.b_date = all_dates.value
and g.b_name = 'A'
left join frosted f on f.m_date = all_dates.value
and f.m_name = 'A'

关于php - 如何在 MySQL 中编写以下输出的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33607832/

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