问题是我需要从表中选择值
category_filter_relations
id modification_id
其中我输入的修改id等于一个变量,并且我还需要加入另一个表
category_filter_relations_items
id modification_id category_filter_relation_id
其中可以有多个条目具有相同的 modification_id
而且不同 category_filter_relation_id
我需要选择那些 category_filter_relations
项目。
我的问题:
SELECT cfr.id AS category_filter_relation_id,
cfr.modification_id,
FROM category_filter_relations cfr
WHERE 1
AND cfr.modification_id = '18340300'
AND category_filter_relation_id
IN (SELECT category_filter_relations_items.category_filter_relation_id
FROM category_filter_relations_items
WHERE category_filter_relations_items.modification_id = '18340300')
这样我得到一个错误:
“in/all/any子查询”中的未知列“category\u filter\u relation\u id”
我也试着加入
LEFT JOIN category_filter_relations_items ON (category_filter_relations_items.category_filter_relation_id = category_filter_relation_id)
但这样我就可以从 category_filter_relations_items
表,我需要
category_filter_relations where category_filter_relations.modification_id = 18340300
加入
category_filter_relations_items.category_filter_relation_id where category_filter_relations_items.modification_id = 18340300
我需要的数据示例:
category_filter_relations
id modification_id
23796 18340300
category_filter_relations_items
id category_filter_relation_id modification_id
54690 23270 18340300
我正在选择表类别过滤关系,结果应该是:
id modification_id
23796 18340300
23270 11111111
因为category\u filter\u relations\u items.modification\u id等于18340300,所以它使用了id 23270
1条答案
按热度按时间xmq68pz91#
这是您的table:
和
在查询中,您可以:
您想要的输出是:
如果你加上一个条件怎么可能
AND cfr.modification_id = '18340300'
? 你不能得到modification_id = 11111111
如果你只要求modification_id = '18340300'
.所以试试这个:
这样你就可以坐第一排了
category_filter_relations
具有列名id
(the)id
的category_filter_relations
)以及modification_id
(the)modification_id
的category_filter_relations
)因为这个条件,它等于'18340300'。这个
UNION
现在我们将有专栏id
但现在是id
在table上category_filter_relations_items
还有一列modification_id
那将是modification_id
一行的category_filter_relations_items
哪里category_filter_relation_id
是id
在table上category_filter_relations
有哪些modification_id = 18340300
.这是你要找的吗?