gpt4 book ai didi

mysql查询: INNER JOIN and SELECT * that is not null from any table

转载 作者:行者123 更新时间:2023-11-29 00:56:54 31 4
gpt4 key购买 nike

例如,我在同一张表上进行内部联接。我想从表 1 或表 2 中选择值不为空的字段。

这里以查询为例:

SELECT a2.*,a.town
FROM `ads` AS `a`
LEFT JOIN discounts d ON d.ad_id=a.id
INNER JOIN ads a2 ON a2.id=d.discount_ad_id
LEFT JOIN `departments` AS `dp` ON dp.department_id = a.department
LEFT JOIN `map_towns` AS `mt` ON mt.town_id = a.town
WHERE (a.department = 9 OR a.department = 15)
GROUP BY `d`.`discount_id`

a2 也有城镇字段,但我可以有空值。如果它不为空,我需要选择 a2.town,如果是,我需要选择 a.town。这与所有其他领域相关。 :)

这可能吗?

谢谢;)

最佳答案

使用 ANSI 函数 COALESCE,或 MySQL 函数 IFNULL。根据需要为列命名

SELECT
a2.id,
a2.col2,
coalesce(a2.town, a.town) town,
IFNULL(a2.city, a.city) city,
...etc

关于mysql查询: INNER JOIN and SELECT * that is not null from any table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5701444/

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