Mysql选择查询用于选择表字段

时间:2015-07-30 06:11:40

标签: mysql

我的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

我不知道如何在查询中加入这些条件。请帮助我。

1 个答案:

答案 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'))