作者tiyero (棉花棠)
看板Database
标题[SQL ] 根据条件select栏位
时间Sat Mar 31 10:03:55 2018
资料库名称:MSSQL
资料库版本:2016
内容/问题描述:
大家好,
有两个表格:
Part 栏位有id
PartBOM 栏位有id,source_id,related_id
Part表示料件,本身不知道父阶还是子阶
PartBOM用source_id来纪录谁是父阶料件,related_id是子阶料件
如下图:
父阶 子阶
Part <==soure_id== PartBOM ==related_id==> Part
现在碰到问题是:已知Part的id想要找出Part的父阶(source_id)
如果找到就select source_id
如果找不到则表示该Part就是父阶,改slect Part的id
这个查询其实是子查询
...
(
select pb.source_id,pb.related_id
from PART_BOM pb left join PART p on pb.SOURCE_ID=p.id
)
x on x.related_id=y.related_id
...
目前是想说透过related_id来找出父阶
这个找出来的是有父阶的,但是要怎麽样在找不到的时候改选择自己呢(related_id)?
请大家帮帮忙,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.170.33.67
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1522461838.A.D9B.html
※ 编辑: tiyero (118.170.33.67), 03/31/2018 10:21:45
1F:→ billy522: case when pb.source_id is null than pb.related_id 04/01 08:31
2F:→ billy522: else pb.source_id end 04/01 08:31