gpt4 book ai didi

MySQL SELECT 语句问题

转载 作者:行者123 更新时间:2023-11-29 15:02:33 26 4
gpt4 key购买 nike

我有以下查询,它返回 2 个元组

SELECT bar_id, bar_name, town_name, bar_telephone, subscription_type_id, pic_type
FROM towns, subscriptiontype, regions, bar
LEFT JOIN barpictures bp ON bar.bar_id = bp.bar_id_fk
WHERE town_id = town_id_fk
AND bar.test_field = 0
AND subscription_type_id = subscription_type_id_fk
AND region_id = region_id_fk
AND (type like 'logo%' OR type IS NULL)

元组之间的主要区别在于,一个元组的“type”= logo,另一个元组的“type”= logo_large。我需要的不是两个元组,而是两个类型属性,一个包含“logo”,另一个包含“logo_large”

例如

bar_id, bar_name, town_name, bar_telephone, subscription_type_id, pic_type1, pic_type2

这可能吗?

最佳答案

是的,这是可能的:

SELECT ..., subscription_type_id,
MAX(IF(type='logo',type,NULL)) as pic_type1,
MAX(IF(type='logo_large',type,NULL)) as pic_type2
...
GROUP BY bar_id;

这个想法是使用聚合函数来合并行并仅选择与条件匹配的值(对于不匹配的行,聚合函数应返回 null)

关于MySQL SELECT 语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2799113/

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