gpt4 book ai didi

mysql - SQL : Multiple left joins with similar tables

转载 作者:行者123 更新时间:2023-11-29 02:43:08 25 4
gpt4 key购买 nike

我有以下表格:

TABLE A
id
info

TABLE B
f_id
question
choices

TABLE C
f_id
question
lines

表 A 中的 id 始终与表 B 或表 C 中的 f_id 匹配,但绝不会同时匹配两者。我只想在表 A 匹配时加入表 B 和表 C,这样我会得到一个包含以下列的表:

id |   info   |   question   | choices | lines

其中所有行都填入了问题列,一些在列选择中为 NULL,一些在列行中为 NULL。

我尝试做两个连续的左联接,但第二个会覆盖第一个,因此表 C 中不匹配的所有行(第二个左联接)在问题列中获得 NULL 值。

有没有一种方法可以执行不会覆盖以前使用 NULL 值连接的数据的查询?我正在使用 Laravel Eloquent,所以任何原始 SQL 或 Eloquent 查询都会对我有帮助。

最佳答案

UNION BC 然后 INNER JOIN A 到这些结果.

SELECT s1.f_id, s1.question, s1.choices, s1.lines
FROM
(
SELECT f_id, question, choices, lines = null
FROM B
UNION
SELECT f_id, question, choices = null, lines
FROM C
) s1
INNER JOIN A ON s1.f_id = A.id

关于mysql - SQL : Multiple left joins with similar tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47354870/

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