У меня есть 2 таблицы, предположим, что table_1 и table_2 table_1 имеет 56 столбцов и 1,2 миллиона записей, мой запрос похож на
table_1 нравится
RollNumber | Subject | G | Part | Status
------------------------------------------------
1 | 1 | 1 | 1 | 1
1 | 1 | 1 | 2 | 1
1 | 2 | 1 | 1 | 1
1 | 2 | 1 | 2 | 5
1 | 3 | 1 | 1 | 0
1 | 3 | 1 | 2 | 1
2 | 1 | 2 | 1 | 1
2 | 1 | 2 | 2 | 1
2 | 2 | 2 | 1 | 1
2 | 2 | 2 | 2 | 1
2 | 3 | 2 | 1 | 1
2 | 3 | 2 | 2 | 1
3 | 1 | 2 | 1 | 1
3 | 1 | 2 | 2 | 1
3 | 2 | 2 | 1 | 1
3 | 2 | 2 | 2 | 1
3 | 3 | 2 | 1 | 0
3 | 3 | 2 | 2 | 1
Я хочу, чтобы все RollNumber (группа со вторым и третьим столбцами) из таблицы_1, где любой статус равен 0, но не хочу, чтобы студенты, у которых также есть статус = 5 (или отличный от 1)
я пробовал это
select * from table_1 as t1
inner join table_2 as t2
on t1.column2 = t2.column2 and t1.column3 = t2.column3 and t1.column4 = t2.column4
where t1.column1 not in
(select column1 from table_1 where status = 5)
Это самый внутренний запрос моего запроса qhole
я также пробовал предложение EXCEPT
Оба запроса выполняются слишком долго
status
? - person Jacky Montevirgen   schedule 23.02.2017column1
,column2
,column3
иstatus
? - person kennytm   schedule 23.02.2017