混淆列混淆

问题描述 投票:0回答:1

我正在尝试将多个表中的特定列放入单个查询表中,删除没有活动艺术家的列,并组合两个表中的Name列。我用INNER JOIN尝试了很多东西,但我无法理解。

对于此示例,允许组合名称,NumberOfMembers,当前活动,Songtitle,以及如何删除与非活动艺术家相关的列。

create table Artists
( Name text, NumberOfMembers integer, CurrentlyActive text);
create table BestSongsEver
( Name text, SongTitle text, YearCreated integer, Ranking integer, genre text, TimesListenedTo integer, RatingScale integer);


insert into Artists values('Kanye West', 1, 'Yes');
insert into Artists values('Michael Jackson', 1, 'No');
insert into Artists values('Aleyna Tilki', 1, 'Yes');

insert into BestSongsEver values('Kanye West', 'Power', 2010, 1, 'Hip Hop', 237, 9.7);
insert into BestSongsEver values('Aleyna Tilki', 'Cevapsiz Cinlama', 2016, 6, 'Turkish Pop', 70, 8.9);
insert into BestSongsEver values('Michael Jackson', 'Thriller', 1982, 2, 'Pop', 200, 9.2);

查询尝试:

SELECT *
FROM Artists A
   INNER JOIN BestSongsEver BSE ON BSE.Name = A.Name
sql
1个回答
0
投票

我认为你的意思是在没有活跃的艺术家而不是列的情况下删除行

在这种情况下,您可以使用where子句过滤掉所需的所有内容,这会过滤您的数据。

例:

SELECT *
FROM Artists A
   INNER JOIN BestSongsEver BSE ON BSE.Name = A.Name
   WHERE A.currentlyActive  = 'yes'

这将在两张牌桌上两次显示'Kanye West'两次。如果要筛选出列,可以选择所需的列,如下所示:

SELECT A.Name, BSE.Name,...
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.