提问人:rxe737 提问时间:11/8/2023 最后编辑:rxe737 更新时间:11/9/2023 访问量:55
如何添加第一个表中的所有列,并且仅显示第二个表中的所有数据?
How to add all the columns from 1st table and have only all of the data from 2nd table being displayed?
问:
我正在创建一个dbt视图,我需要有1个SELECT语句。我有 2 张桌子,A 和 B。我想创建一个表的视图,该视图将如下所示(一个新的表结果):
- final table 应该具有 A 的表结构,因此只有表 A 的所有列
- final table 应该只包含表 B 中的所有数据
- 因此,表 B 中的所有数据都存在,对于没有条目的字段,它将显示 NULL,如下所示
我想在不必使用 CREATE、INSERT 等的情况下只使用 JOINS(如果适用)等来做到这一点。
Table A
id | name | colour | age | height | gender| object
--------------------------------------------------
1. | apple| red | null| null | null | fruit
--------------------------------------------------
2. | john | null | 21 | 186 | male | person
--------------------------------------------------
3. | jane | null | 19 | 162 | female| person
--------------------------------------------------
4. | jude | null | 32 | 154 | female| person
--------------------------------------------------
5. | kiwi | green | null| null | null | fruit
Table B
id | name | colour | object |
------------------------------
1. | apple| red | fruit |
-----------------------------
2. | kiwi | green | fruit |
-----------------------------
3. | berry| pink | fruit |
Query:
SELECT A.*
FROM A
JOIN B ON A.id = B.id
WHERE A.object = "fruit" --> this doesn't make sense
Trying to have something like this . Final Result:
id | name | colour | age | height | gender| object
--------------------------------------------------
1. | apple| red | null| null | null | fruit
--------------------------------------------------
2. | kiwi | green | null| null | null | fruit
--------------------------------------------------
3. | berry| pink | null| null | null | fruit
答: 暂无答案
评论
SELECT id, name, colour, NULL as age, NULL as height, NULL as gender, object FROM b;