select a.*,b.uf_username bs_username from ((select bs_userid,
bs_pageurl,
bs_pathname,
bs_buttonname,
'' bs_message,
bs_operatetime
from BUTTONCLICKSTATISTIC) union
(select se_userid bs_userid,
se_pageurl bs_pageurl,
N'' bs_pathname,
N'' bs_buttonname,
se_message bs_message,
se_operatetime bs_operatetime
from SYSTEMERRORINFO)) a left join userinfo b on a.bs_userid=b.uf_id
order by a.bs_userid,a.bs_operatetime
I:union两边的表字段查询顺序要一一对应,字段名要相同(不同要使用别名使其保持一致),字段类型要相同;
II:加上 N 代表存入数据库时以 Unicode 格式存储。
N'string' 表示string是个Unicode字符串,Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的国际语言 (National Language))。N 前缀必须是大写字母。例如,'Michél' 是字符串常量而 N'Michél' 则是 Unicode 常量。Unicode 常量被解释为 Unicode 数据,并且不使用代码页进行计算。Unicode 常量确实有排序规则,主要用于控制比较和区分大小写。为 Unicode 常量指派当前数据库的默认排序规则,除非使用 COLLATE 子句为其指定了排序规则。Unicode 数据中的每个字符都使用两个字节进行存储,而字符数据中的每个字符则都使用一个字节进行存储。有关更多信息,请参见使用 Unicode 数据。
Unicode 字符串常量支持增强的排序规则。