gpt4 book ai didi

mysql - 条件mysql if内连接

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

如果字段非空,是否可以执行条件连接?,即如果字段为空,则执行连接而不返回值,如果字段不为空,则执行连接并返回值

SELECT CASE WHEN i.id_servicio is null THEN p.nombre as proveedor, origen_incidencia.nombre as origen, relativo_a.nombre as relativo, i . * , u.nombre AS usuario ELSE p.nombre as proveedor, origen_incidencia.nombre as origen, relativo_a.nombre as relativo, i . * , u.nombre AS usuario,s.nombre
end

from incidencias i

INNER JOIN usuarios AS u ON i.id_usuarios =19 AND i.id_usuarios = u.id

case when i.id_servicio is not null then
INNER JOIN servicios s ON s.id = i.id_servicio
end
INNER JOIN relativo_a ON relativo_a.id = i.id_relativo_a
INNER JOIN origen_incidencia ON origen_incidencia.id = i.id_origen_incidencia
INNER JOIN proveedores p ON p.id = i.id_proveedor

最佳答案

是的,这称为外连接

其中有几种风格。在这种特殊情况下,您可以使用左外连接,通常简称为左连接

此查询将返回所有事件,并且如果没有链接到 -erm- 事件的服务 (?),则仅返回名称的 NULL

SELECT 
i.id,
s.nombre
FROM incidencias i
LEFT JOIN servicios s ON s.id = i.id_servicio

还有右连接,它的作用相同,但方式相反(第一个表中的行是可选的)。很多时候,使用右连接被认为是不好的做法,因为它读起来更困惑,特别是当您在同一查询中将其与左连接结合使用时。我认为在某些情况下您必须使用它,因为您始终可以通过反转表来将其替换为左连接。

关于mysql - 条件mysql if内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25724471/

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