Я работал над этим запросом в течение некоторого времени и не смог определить, можно или нет сделать это из моего исследования. На сегодняшний день я пробовал многие версии запроса ниже с AND, OR, NOT IN - EXISTS, но всегда получаю ошибку подзапроса ERROR: sub-select возвращает 3 столбца - ожидается 1.
Я также пробовал запустив их как отдельные запросы, затем в for для l oop, добавив их в список и используя отсортированную функцию в программе python. За исключением того, что он печатает в виде двух отдельных списков в длинной форме, а не с \ n после каждого результата.
Я также пробовал в a для l oop, используя if 'middle' или i [1] = None : print i [0], i [2] и i4, но я получаю ошибку, которую не могу найти или вспомнить. Я также попытался превратить данные в dict и проанализировать их с именами полей, т.е. если 'middle' == None: print ('first', 'last', 'birth'.
Во всяком случае, его 6: 53 утра. Я измотан, и я не спал всю ночь с этим и должен был быть на работе примерно час. Я не хочу ответа, но надеюсь, что я узнаю, если это по крайней мере возможно сделать с Запрос SELECT или если мне нужно разделить его на запрос SELECT части и парсинг значения None с помощью скрипта python.
SELECT first, middle, last, birth
FROM students
WHERE house = 'Gryffindor' AND middle IS NOT NULL
OR (SELECT first, last, birth
FROM students
WHERE house = 'Gryffindor' AND middle IS NULL)
ORDER BY last, first '''