1

我有两个包含用户信息的表。一个表current_users跟踪当前用户,另一个表new_users包含最近提交信息的用户的数据。两个表中的信息在属性方面是相同的,但出于某种原因,信息被分开保存。

截至目前,我正在选择信息并 LEFT JOIN-ingnew_users并添加current_users到包含这些用户参加活动的信息的表中。因为其他人使用这些表,所以我无法通过添加列来更改表,因此我需要一种方法来区分 SQL 语句中哪些信息来自哪些表。

SELECT 语句现在同时从两个表中进行选择:

SELECT current_users.lastname, current_users.firstname, current_users.id, new_users,lastname, new_users.firstname, new_users.id

但是我想要一种方法来创建一个虚拟列,无论 current_users 列是否为 NULL,它都存储 1,或者当 new_users 为 NULL 时存储 0。有什么建议吗?

4

2 回答 2

3
SELECT current_users.lastname, 
       current_users.firstname, 
       current_users.id, 
       new_users,lastname, 
       new_users.firstname, 
       new_users.id,
       CASE WHEN new_users.id IS NULL THEN 0 ELSE 1 END as dummy_column
于 2013-05-22T22:09:44.460 回答
1

创建一个视图,也许?

create or replace view all_users
as 
 (select 0 as user_type, lastname, firstname, id from current_users
 UNION
 select 1 as user_type, lastname, firstname, id from new_users)
于 2013-05-22T22:06:25.010 回答