SQL合并一个表中的字段

问题描述 投票:0回答:1

有一个显示两个表的脚本。 String类型的名称和Long类型的计数。如何将一个字段中的“缺货”中的相同字段与一个表中的“婚姻/重新排序”中的单独字段“婚姻”,“重新排序”组合在一起。为此,请保存两个表的类型并在新字段中获取组合值。以及如何不显示多余的字段,例如,员工表格等。我知道您可以使用CASE,WHEN,THEN结构。但是我不明白如何在脚本中正确描述它。

SELECT rl.reason AS reject_reason, COUNT(*)
FROM
    mp.reservation_log AS rl
    JOIN
    mp.store AS st ON rl.store_id = st.md_id
    JOIN mp.order_item oi ON oi.reserve_id=rl.reservation_id
    JOIN mp.sku s ON s.id=oi.item_id
    JOIN mp.product p ON p.id=s.product_id
WHERE rl.created_at > DATE(NOW()) - INTERVAL 1 MONTH AND rl.is_successful=0
GROUP BY rl.reason;

表格示例:

table example

mysql sql sql-scripts
1个回答
0
投票

它[[似乎就像您要将多个原因合并到同一组中。

您可以将case表达式用作对此不加汇总的列,如下所示:

select case when r1.reason in ('marriage', 're-sorting') then 'marriage/re-sorting' else r1.reason end real_reason, count(*) cnt from ... where rl.created_at > current_date - interval 1 month and rl.is_successful = 0 group by real_reason

© www.soinside.com 2019 - 2024. All rights reserved.