我遇到了与查询SQL数据库有关的逻辑问题。我需要排除3个不同的类别和这些类别中包含的任何项目;但是,如果其中一个类别的项目符合另一个类别的标准,我需要保留该项目。
这是我在以当前版本查询数据库后将得到的示例输出:
ExampleDB | item_num | pro_type | area | description
1 | 45KX-76Y | FLCM | Finished | coil8x
2 | 68WO-93H | FLCL | Similar | y45Kx
3 | 05RH-27N | FLDR | Finished | KH72n
4 | 84OH-95W | FLEP | Final | tar5x
5 | 81RS-67F | FLEP | Final | tar7x
6 | 48YU-40Q | FLCM | Final | bile6
7 | 19VB-89S | FLDR | Warranty | exp380
8 | 76CS-01U | FLCL | Gator | low5
9 | 28OC-08Z | FLCM | Redo | coil34Y
item_num和description在一起表中,pro_type和area在2个单独的表中 - 总共3个表来从中提取数据。
我需要构建一个不会拉回任何item_num的查询,其中area等于:Finished,Final和Redo;但我还需要提取符合类型标准的任何item_num:FLCM和FLEP。最后,我的查询应如下所示:
ExampleDB | item_num | pro_type | area | description
1 | 45KX-76Y | FLCM | Finished | coil8x
2 | 68WO-93H | FLCL | Similar | y45Kx
3 | 84OH-95W | FLEP | Final | tar5x
4 | 81RS-67F | FLEP | Final | tar7x
5 | 19VB-89S | FLDR | Warranty | exp380
6 | 76CS-01U | FLCL | Gator | low5
7 | 28OC-08Z | FLCM | Redo | coil34Y
答案 0 :(得分:0)
你在寻找像
这样的东西吗?SELECT *
FROM Table_1
JOIN Table_ProType ON Table_1.whatnot = Table_ProType.whatnot
JOIN Table_Area ON Table_1.whatnot = Table_Area.whatnot
WHERE Table.area NOT IN ('Finished','Final','Redo') OR ProType.pro_type IN ('FLCM','FLEP')
给出三个表的名称和加入标准将有助于我改进答案。
答案 1 :(得分:0)
试试这个:
select * from table
join...
where area not in('finished', 'final', 'redo') or type in('flcm', 'flep')