根据从不同表中选择的结果从第二表列中选择

时间:2017-11-28 20:00:45

标签: sqlite

我试图使用查询一个表的结果然后用作我的"其中"为了 第二张表的列。这就是我一直在尝试的:

SELECT channel
FROM shows
WHERE ID ='36741'

这给了我" Discovery"的结果。所有"频道"在桌子上"显示"是表格中的列" cccservices"。然后我需要做以下事情:

SELECT service
FROM cccservices
WHERE Discovery='x'

我试过这个:

SELECT service
FROM cccservices
WHERE (Select channel from shows where ID='36741')='x'

但我确定我错过了什么。如果重要的话,用户提交的表格会将ID提供给我。

1 个答案:

答案 0 :(得分:0)

我仍然在攻读学位,而且我不知道这个查询的上下文,但是看看你的语句,这个查询的性能会不会更好?

SELECT service 
FROM cccservices 
INNER JOIN shows ON (ID = '36741' AND Discovery = 'x' AND ID = Discovery);

在你告诉我之后,我又读了一次,我会这样做:

SELECT service 
FROM cccservices 
WHERE ((Select channel from shows where ID='36741')='x' AND Discovery ='x');

第3次尝试:

SELECT service 
FROM cccservices 
WHERE ((Select channel from shows where ID='36741') = Discovery 
  AND Discovery LIKE '%x%');

第四次尝试

SELECT service 
FROM cccservices 
INNER JOIN cccservices ON ((SELECT channel FROM shows INNER JOIN shows ON (ID='36741')) LIKE '%x%');

这将返回列,然后您希望它包含x。我想你在这里没有遗漏任何东西......你的查询非常相似!

第五次尝试:

SELECT cccs1.service 
FROM cccservices cccs1
INNER JOIN cccservices cccs2 ON ((SELECT s1.channel FROM shows s1 INNER JOIN 
shows s2 ON (ID='36741')) LIKE '%x%');