联合2表和基于数据源的设定值

时间:2012-07-30 17:54:08

标签: sql set union

试图解决这个问题......

我需要一个将两个表合并为1的查询,我在下面...

select PersonId, PersonFirstName, PersonLastName
from dbo.Person
UNION 
SELECT AdminId as PersonsId, AdminFirstName as PersonsFirstName, AdminLastName as       PersonsLastName
from dbo.UserAdmins

我想创建一个新列,并为“Person”或“Admin”分配一个值,具体取决于记录的来源。因此,如果记录1-10来自dbo.Person,则新列将填写为“Person”,如果接下来的5个来自Admin,则新列将填入“Admin”。

这似乎相对简单,但不知道从哪里开始。

1 个答案:

答案 0 :(得分:3)

您只需添加一个包含所需值的新列:

select PersonId
    , PersonFirstName
    , PersonLastName
    , 'Person' as yourColName
from dbo.Person
UNION ALL
SELECT AdminId as PersonsId
    , AdminFirstName as PersonsFirstName
    , AdminLastName as       PersonsLastName
    , 'Admin' as yourColName
from dbo.UserAdmins