问题:有几个表,要把查询结果给union起来,但是这些表除表名不同外,没有一个字段区分它们。
比如
表1,表2,表3
都有字段id, title ,content
然后
select * from (
select id,title,content from tbl_1 where xxx
union ALL
select id,title,content from tbl_2 where xxx
union ALL
select id,title,content from tbl_3 where xxx
)T
结果是
id title content
1标题1 内容1
2 标题2 内容2
。。。
问题,怎么样可以做到:
id title content
1标题1 内容1 --- 属于表2
2 标题2 内容2 --- 属于表1
。。。
答:
select * from (
select id,title,content,'tbl1' as typenamefrom tbl_1 where xxx
union ALL
select id,title,content,'tbl2' as typename from tbl_2 where xxx
union ALL
select id,title,content ,'tbl3' as typename from tbl_3 where xxx
)T
就可以了。
分享到:
相关推荐
相比之下,UNION ALL操作符也将多个SELECT语句的结果集合并为一个结果集,但不进行去重操作。它会将所有的行都包含在结果集中,包括重复的行。因此,如果有重复的行存在,UNION ALL会返回所有的重复行。 从性能的...
SELECT ... UNION ALL SELECT C.TRD_NO FROM XXXXXXXXX C WHERE C.CLIENT_CD = W_IN_CLIENT_CD ) D WHERE A.TRD_NO = D.TRD_NO AND A.CLIENT_CD = W_IN_CLIENT_CD AND A.RESULT IS NULL ;
一、UNION和UNION ALL的作用和语法 UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中...
checkBox selectAllcheckBox selectAll
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如: select * from ...
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如: select * from ...
EXPLAIN SELECT * from employees where employees.first_NAME ='Georgi' UNION ALL SELECT * from employees where employees.first_NAME ='Bezalel' 这条语句执行结果481条,执行时间为0.35s PRIMARY employees...
使用insert into table(field, …)select(value,…) union all select(value,…) union all select(value,…) …的情况 我一次插入的数据是:1190条。用insert into所用的时间在510毫秒上下徘徊,而用insert ...
bt_selectall = (Button) findViewById(R.id.bt_selectall); // bt_cancel = (Button) findViewById(R.id.bt_cancelselectall); // bt_deselectall = (Button) findViewById(R.id.bt_deselectall); tv_show...
Union 与 Union ALL 的作用都是合并 SELECT 的查询结果集,那么它们有什么不同呢? Union 将查询到的结果集合并后进行重查,将其中相同的行去除。缺点:效率低; 而Union ALL 则只是合并查询的结果集,并不重新查询...
SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中...SQL UNION ALL 语法SELECT
create function fun_getbh(@char nchar(2)) returns int as begin return( case when unicode(@char) between 19968 and 40869 then( ... union all select 9,N'鸩' union all select 10,N'龀'
代码如下:–合并重复行 select * from A union select * from B –不合并重复行 select * from A union all select * from B 按某个字段排序 –合并重复行 select * from ( select * from A union select * from B) ...
SQL中Union和Join语句非常类似,但是Union有一个限制条件:两个 SQL 语句所产生的栏位需要是同样的资料种类,最后的结果会看到不同的资料值。 格式: [SQL 语句 1] UNION [SQL 语句 2] 例如: 表store_info 和表...
关于SQL UNION 操作符 UNION 操作符用于合并... SQL UNION 语法(结果集没有重复值): 代码如下: SELECT s FROM table1 UNION SELECT s FROM table2 SQL UNION ALL 语法(结果集有重复的值): 代码如下: SELECT s FRO
文档编辑功能,全选菜单this.richTextBox1.SelectAll();复制菜单this.richTextBox1.Copy();剪切菜单this.richTextBox1.Cut();粘贴菜单this.richTextBox1.Paste();C#源代码
代码如下: SELECT … UNION [ALL | DISTINCT] SELECT … [UNION [ALL | DISTINCT] SELECT …] SELECT … UNION [ALL | DISTINCT] SELECT … [UNION [ALL | DISTINCT] SELECT …] UNION 用于把来自许多SELECT语句的...
SELECT语句查询记录,你可以在office的Access中使用,涵盖绝大部分语句。
union all select '1' as pid, '2' as id, '2' as name from dual union all select '1' as pid, '3' as id, '3' as name from dual union all select '2' as pid, '5' as id, '5' as name from dual union ...