我试图使用查询一个表的结果然后用作我的"其中"为了 第二张表的列。这就是我一直在尝试的:
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提供给我。
答案 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%');