我已经对SQL表进行了一些插入,请参阅代码。
基于该代码,我希望表''video'中列'tittel'的值,但'video'元素需要从表'etikett'中获得给定值(我需要搜索匹配的元素)所有栏目)。正如你所看到的,我需要通过表'videoetikett'使用'videoid'列,这是常用列,我不知道如何为此编写SELECT。
示例:我想在'etikett'中搜索'spania'值的所有列。当它找到它时,我需要在该行上使用'etikettid',即1,在'videoetikett'中获得'videoid',即1,最终输出'video'的'tittel',' Ferie 2016'。
我希望我能够以一种好的方式解释这一点。
任何帮助都将受到高度赞赏!
insert into video (videoid, starttid, sluttid, tittel, filplassering, navn)
values (1, '2016-01-11 16:00:00', '2016-01-11 17:00:00', 'Ferie 2016', '/bilder', 'Roy Jakobsen');
insert into etikett (etikettid, beskrivelse, posisjon)
values (1, 'ferie', 'spania');
insert into videoetikett (etikettid, videoid)
values (1, 1);
答案 0 :(得分:3)
分步进行,
一:
select e.etikettid from etikett as e where posisjon = 'spania';
二:
select e.etikettid
from etikett as e, videoetikett as ve
where posisjon = 'spania'
and e.etikettid = ve.etikettid;
三:
select v.tittel, e.etikettid
from etikett as e, videoetikett as ve, video as v
where posisjon = 'spania'
and e.etikettid = ve.etikettid
and v.videoid = ve.videoid;
四
select v.tittel, e.etikettid
from etikett as e, videoetikett as ve, video as v
where e.etikettid = ve.etikettid
and v.videoid = ve.videoid
and (posisjon = 'spania' OR beskrivelse = 'spania');