gpt4 book ai didi

sql - 根据条件连接不同的表

转载 作者:行者123 更新时间:2023-12-04 01:29:28 27 4
gpt4 key购买 nike

create table [premiumuser] (user_id int, name nvarchar(50));
create table [liteuser] (user_id int, name nvarchar(50));
create table [feature] (id nvarchar(50), user_id int, userkey int);

insert into [premiumuser] select 1, 'stephen';
insert into [premiumuser] select 2, 'roger';

insert into [liteuser] select 1, 'apollo';
insert into [liteuser] select 2, 'venus';

insert into feature select 'Upload content', 1, 1;
insert into feature select 'Create account', 1, 0;
insert into feature select 'View content', 2, 0;

我想查看来自 的数据功能 表而不是 userid我想要 username .
这里的问题是如果 userkey是 0,得到 username来自 liteuser 表,否则来自 高级用户 table 。
数据应该像
'Upload content', 'stephen', 1
'Create account', 'apollo', 0
'View content', 'venus', 0

最佳答案

尝试这个:

select 
f.id,
case when userkey=0 then l.name else p.name end as username
from [feature] f
left join [liteuser] l on l.user_id = f.user_id
left join [premium user] p on p.user_id = f.user_id

关于sql - 根据条件连接不同的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16270203/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com