【发布时间】:2021-09-11 01:49:27
【问题描述】:
我需要获取表A中的所有行,但要加入表B(基本上是LEFT JOIN),而且,我还需要获取 A 表行本身,例如,使用这些表:
表 A:
| id | name |
|---|---|
| 1 | Random name |
| 2 | Random name #2 |
表 B:
| id | parent_id | location |
|---|---|---|
| 1 | 2 | Location #1 |
| 2 | 2 | Location #2 |
使用此查询:
SELECT * FROM A
LEFT JOIN B
ON A.id = B.parent_id;
我得到这样的东西:
| id | name | id | parent_id | location |
|---|---|---|---|---|
| 1 | Random name | NULL | NULL | NULL |
| 2 | Random name #2 | 1 | 2 | Location #1 |
| 2 | Random name #2 | 2 | 2 | Location #2 |
但我想得到这样的东西:
| id | name | id | parent_id | location |
|---|---|---|---|---|
| 1 | Random name | NULL | NULL | NULL |
| 2 | Random name #2 | NULL | NULL | NULL |
| 2 | Random name #2 | 1 | 2 | Location #1 |
| 2 | Random name #2 | 2 | 2 | Location #2 |
如您所见,有一行“随机名称#2”与它的连接分开,我该怎么做?
主要思想是有一个ads 表(表A),还有一个subads 表(表B)与ads 表的变化不大,我需要在唯一查询中显示所有广告和子广告。
坦克很多!
【问题讨论】: