基于条件创建交替值列的SQL

基于条件创建交替值列的SQL,sql,Sql,我想创建一个以以下格式返回行的查询: 字符串名称、整型句点、双值、字符串类别 如果有两组数据,我希望它们具有相同的名称和句点,那么该值是任意的,类别应该是1或2。类别数据不存在,需要在查询中“创建” 这两组数据将来自单独的表A和B,返回: 名称、期间、值 因此,我想在category列中放入一个字符串“1”(如果它来自a),在category列中放入一个字符串“2”(如果它来自B),并在其他列中返回正常数据 我怎么能做到这一点呢?按照我阅读你问题的方式,你在做一个联合,你想看看哪个值在表a中,哪

我想创建一个以以下格式返回行的查询:

字符串名称、整型句点、双值、字符串类别

如果有两组数据,我希望它们具有相同的名称和句点,那么该值是任意的,类别应该是1或2。类别数据不存在,需要在查询中“创建”

这两组数据将来自单独的表A和B,返回:

名称、期间、值

因此,我想在category列中放入一个字符串“1”(如果它来自a),在category列中放入一个字符串“2”(如果它来自B),并在其他列中返回正常数据


我怎么能做到这一点呢?

按照我阅读你问题的方式,你在做一个
联合
,你想看看哪个值在表a中,哪个值在表B中。如果是这样的话,那么创建类别是非常容易的,因为你只需为你所在的表指定你想要的值。像这样:

select
    name,
    period,
    value,
    '1' as category
from
    A
union all
select
    name,
    period,
    value,
    '2' as category
from
    B
order by
    name, period, category

我阅读你的问题的方式是,你在做一个
联合
,你想看看哪个值在表a中,哪个在表B中。如果是这样的话,那么创建你的类别是非常容易的,因为你只需要为你所在的表指定你想要的值。像这样:

select
    name,
    period,
    value,
    '1' as category
from
    A
union all
select
    name,
    period,
    value,
    '2' as category
from
    B
order by
    name, period, category
使用

使用


category
应该有一个列名,它应该是一个字符串(根据OP)。
category
应该有一个列名,它应该是一个字符串(根据OP)。