【发布时间】:2018-05-01 11:30:45
【问题描述】:
我有以下表格:
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 Query 都会对我有所帮助。
【问题讨论】:
-
考虑在 A 和 B 和 C 的外连接之间进行内连接。
-
查看此定义以获得帮助:stackoverflow.com/questions/38549/…
-
我会为此使用联合
-
如果您使用 laravel,我不明白您为什么要使用 Raw SQL...
标签: mysql sql laravel join laravel-5