【发布时间】:2019-09-05 17:35:43
【问题描述】:
我在 asg 表中有两列,根据分配类型将有两个分配编号。
即如果assignment type= WT,则分配编号将为WT1,当其为“W”时,编号将为W1
表格如下:
ASG_NUMBER ASG_TYPE person_id JOB_CODE ORG_CODE...........
W1 W 12 TECHNINICAN LOC_org
WT1 WT 12 - -
现在,我必须创建一个查询,在一行中获取工作项编号和分配编号。我做了一个查询,它正在获取两个不同的行。 我想要下面的专栏:
W_aSG_NUMBER WT_ASG_NUMBER JOB_CODE ORG_CODE ....
JOB_CODE 和 org_code 以及所有内容都应仅根据 W 行。
我在查询中使用了联合,但它为这一行提供了两行:
select w_ASG_NUMBER,
wt_asg_number
ASG_TYPE,
JOB_CODE,
ORG_CODE
from
(select w_ASG_NUMBER,
'' wt_asg_number,
ASG_TYPE,
JOB_CODE,
ORG_CODE
from asg_table
where asg_type ='W'
UNION
select '' w_ASG_NUMBER,
wt_asg_number,
ASG_TYPE,
JOB_CODE,
ORG_CODE
from asg_table
where asg_type ='WT')
【问题讨论】:
-
这个表是不是只有两行?如果不是,你怎么知道哪些 W 行与哪些 WT 行对应? (即,有没有钥匙)
-
asg_id 很常见@kfinity
-
@Tejash 是的,因为它是基于假设的我添加了一个 id 否则它的 person_id