【发布时间】:2018-08-07 19:14:09
【问题描述】:
这是我的情况:
- 表 A:ID 整数,种类整数,
(Kind=1 搜索表 B,Kind=2,搜索表 C)
- 表 B:ID、名称、价格
- 表 C:ID、项目、金额
表 A
- ID |种类
- 1 | 1
- 2 | 1
- 2 | 2
- 3 | 2
表 B
- ID名称价格
- 1 名称1 2.0
- 2 名称2 1.0
表 C
- ID 物品数量
- 2 项 2 1.0
- 3 项 3 1.0
我想用一个查询搜索什么,结果如下:
- ID | Kind | name | price | item. | amount - 1 | 1 | name1 | 2.0 | ---- | ----- - 2 | 1 | name2 | 1.0 | ---- |. ----- - 2 | 2 | ---- | --- | item2 | 1.0 - 3 | 2 | ---- | --- | item3 | 1.0
有可能吗?
select A.ID,A.kind,B.name,B.price,C.item,C.amount from TableA
case when Kind=1 Left Join TableB on A.ID=B.ID Then Left Join TableC on A.ID=C.ID order by ID
【问题讨论】:
-
我不明白预期的输出。您是否尝试过查询?
-
谢谢,我编辑了我的帖子以添加我想要做的事情
-
为什么第三行没有名字?
ID和Kind都有一个2的值,所以我希望有一个名字。 -
第三行名称和价格将为NULL,因为结合ID和Kind指向表C。实际上,我要做的是左连接B,然后左连接C与表A , 表 A 有表 B 和表 C 的组合。