union时如何再添加一个字段来标识来自哪个表?

[复制链接]
查看11 | 回复5 | 2006-3-23 09:54:00 | 显示全部楼层 |阅读模式
小弟有如下sql:
select custom_id , xzh from t_sxht
union select custom_id , xzh from t_ddnht
这样能够搜索出union后结果,但是由于可能不同表t_sxht , t_ddnht,里面这两个字段会记录值相同,这样结果中就会去掉这些相同值。为了反映所有的数据,我希望不要去掉重复值,能否在结果中增加一个字段,如“comeFrom”用踏来标识到底来自哪个表呢?
这个语句该如何写呢?
回复

使用道具 举报

千问 | 2006-3-23 09:54:00 | 显示全部楼层
不希望去掉重复值你用union all就ok了,不用这么麻烦
回复

使用道具 举报

千问 | 2006-3-23 09:54:00 | 显示全部楼层
最初由 oqo2005 发布
[B]小弟有如下sql:
select custom_id , xzh from t_sxht
union select custom_id , xzh from t_ddnht
这样能够搜索出union后结果,但是由于可能不同表t_sxht , t_ddnht,里面这两个字段会记录值相同,这样结果中就会去掉这些相同值。为了反映所有的数据,我希望不要去掉重复值,能否在结果中增加一个字段,如“comeFrom”用踏来标识到底来自哪个表呢?
这个语句该如何写呢? [/B]

原来如此,那么对于这个结果,我又如何对它排序呢?我想对整个结果排序
回复

使用道具 举报

千问 | 2006-3-23 09:54:00 | 显示全部楼层
select * from

select custom_id , xzh from t_sxht
union select custom_id , xzh from t_ddnht
) a order by a.custom_id...
回复

使用道具 举报

千问 | 2006-3-23 09:54:00 | 显示全部楼层
北大哥说得对啊。。UNION ALL
排序用ORDERBY
回复

使用道具 举报

千问 | 2006-3-23 09:54:00 | 显示全部楼层
最初由 北冥 发布
[B]select * from

select custom_id , xzh from t_sxht
union select custom_id , xzh from t_ddnht
) a order by a.custom_id... [/B]

呵呵,总算搞定啦,唉……俺的水平太菜太业余啦
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行