我的mysql数据库中有两个表'account'和'medium'。
帐户表包含字段
的 'id', '名称', '活性', '允许', 'PARENT_ID', '模型'
中间表包含字段
'med_id', 'ACC_ID', '类型', '年'
中表中的'acc_id'与帐户表中的'id'相同。因此,中表中的所有条目都应该在帐户表中。中表中的'type'字段具有'BN','等值CD”, 'CS', 'LL'。
现在我需要从帐户表中选择id,name,allow,parent_id,以便active = 1,allow = 1并且还允许中等表格中的帐户使用'type'值作为'BN'或'CS'来选择帐户表。
结果可能包含不在中型表中的帐户和中型表中的帐户,如果中型表中的帐户在其中,则应基于中型表中的“类型”字段值。如何在mysql中编写此查询
例如, 帐户表:
Car
Bus
Town
Ornaments
Plants
Animals
Forest
Planets
Aquamarine
Hills
Waterfall
Temple
和中表是
Plants BN
Animals LL
Forest CS
Aquamarine BN
Hills CD
Waterfall LL
查询的结果应该是:
Car
Bus
Town
Ornaments
Plants
Forest
Planets
Aquamarine
Temple
我不知道如何在查询中加入这些条件。请帮助我。
答案 0 :(得分:0)
尝试以下查询,我认为这将满足您的考虑结果。
SELECT A.id, A.name, A.allow, A.parent_id
FROM account A WHERE A.active = 1 AND A.allow = 1 AND A.id not in(select M.acc_id from medium M where M.type not in('BN','CS'))