佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1497|回复: 7

怎样把不同column field 变成一格column?

[复制链接]
发表于 16-7-2008 08:42 PM | 显示全部楼层 |阅读模式
Eg:

EntityId          Fullname1       Fullname2          fullname3
---------           --------------    ---------------         ------------
1                    Jack                null                      null
2                    null                  Stephen              null
3                    null                  James                 null
4                    null                  null                      Steve

Final result:
EntityId          Fullname   
---------           --------------   
1                    Jack              
2                    Stephen              
3                    James                 
4                    Steve               

我query 来自三个不同的table..so at any time 其他两个column 是null 的。

以下是我的query.
SELECT     dbo.FilteredListMember.entityid, dbo.FilteredCampaignItem.campaignid, dbo.FilteredAccount.name AS AccountName,
                      dbo.FilteredLead.fullname AS LeadName, dbo.FilteredContact.fullname AS ContactName
FROM         dbo.FilteredCampaignItem INNER JOIN
                      dbo.FilteredListMember ON dbo.FilteredCampaignItem.entityid = dbo.FilteredListMember.listid LEFT OUTER JOIN
                      dbo.FilteredAccount ON dbo.FilteredListMember.entityid = dbo.FilteredAccount.accountid LEFT OUTER JOIN
                      dbo.FilteredLead ON dbo.FilteredListMember.entityid = dbo.FilteredLead.leadid LEFT OUTER JOIN
                      dbo.FilteredContact ON dbo.FilteredListMember.entityid = dbo.FilteredContact.contactid
WHERE     (dbo.FilteredCampaignItem.campaignid = '6CA5BFA3-DD4C-DD11-8739-0003FF5F5B0A')
回复

使用道具 举报


ADVERTISEMENT

发表于 17-7-2008 12:48 AM | 显示全部楼层
可以用 union 来做到
回复

使用道具 举报

发表于 17-7-2008 09:30 AM | 显示全部楼层
你也可以在 field4 那里输入如下:
=field1 & " " & field2 & " " & field3
如此一来,field4 里就会出现你要的答案了。
回复

使用道具 举报

发表于 18-7-2008 01:25 AM | 显示全部楼层
SELECT     dbo.FilteredListMember.entityid, dbo.FilteredCampaignItem.campaignid,
dbo.userDefinedFunction_GetFullname(dbo.FilteredAccount.name,dbo.FilteredLead.fullname, dbo.FilteredContact.fullname) AS Fullname
FROM         dbo.FilteredCampaignItem INNER JOIN
                      dbo.FilteredListMember ONdbo.FilteredCampaignItem.entityid = dbo.FilteredListMember.listid LEFTOUTER JOIN
                      dbo.FilteredAccount ON dbo.FilteredListMember.entityid = dbo.FilteredAccount.accountid LEFT OUTER JOIN
                      dbo.FilteredLead ON dbo.FilteredListMember.entityid = dbo.FilteredLead.leadid LEFT OUTER JOIN
                      dbo.FilteredContact ON dbo.FilteredListMember.entityid = dbo.FilteredContact.contactid
WHERE     (dbo.FilteredCampaignItem.campaignid = '6CA5BFA3-DD4C-DD11-8739-0003FF5F5B0A')

[ 本帖最后由 hkloke2000 于 18-7-2008 01:27 AM 编辑 ]
回复

使用道具 举报

发表于 18-7-2008 02:05 PM | 显示全部楼层
我的 table - tb_Test

id     name1      name2       name3      name4
--      --------       ----------       ---------       ---------
1        ppl1              NULL        NULL        NULL
2        NULL        ppl2              NULL        NULL
3        NULL        ppl3              NULL        NULL
4        NULL        NULL        ppl4              NULL
5        NULL        NULL        NULL        ppl5      
6        pp6               NULL        NULL        NULL
7        NULL        pp7               NULL        NULL
8        pp8               NULL        NULL        NULL

我的 query

select id, [Name] from(
select id, name1 as [Name]
from tb_test
where not name1 is null
union all
select id, name2 as [Name]
from tb_test
where not name2 is null
union all
select id, name3 as [Name]
from tb_test
where not name3 is null
union all
select id, name4 as [Name]
from tb_test
where not name4 is null) t1
order by id

我的 output

id     Name
--      --------
1        ppl1      
2        ppl2      
3        ppl3      
4        ppl4      
5        ppl5      
6        pp6      
7        pp7      
8        pp8
回复

使用道具 举报

发表于 18-7-2008 06:16 PM | 显示全部楼层
select id, isnull(name1,'') + isnull(name2,'') + isnull(name3,'') as 'FullName'
from bla bla bla
where bla bla bla
回复

使用道具 举报

Follow Us
发表于 18-7-2008 08:00 PM | 显示全部楼层
原帖由 神仙祖宗 于 18-7-2008 06:16 PM 发表
select id, isnull(name1,'') + isnull(name2,'') + isnull(name3,'') as 'FullName'
from bla bla bla
where bla bla bla


终于看到高手了
回复

使用道具 举报

发表于 28-7-2008 02:10 AM | 显示全部楼层

回复 7# hooi1983 的帖子

select a.EntityId,  NVL(a.Fullname1, '')  ||  NVL(b.Fullname2, '') || NVL(c.fullname3, '')  "Fullname"
from tbl a, tbl1 b, tbl2 c
....
[ Oracle 的版本 ]
回复

使用道具 举报


ADVERTISEMENT

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-12-2025 04:16 PM , Processed in 0.137202 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表