#sql #postgresql
Вопрос:
Скажи, что у меня есть этот стол:
col1 col2 col3
1 Amy [Jessica, Laura, Joe]
1 Jessica [Jessica, Laura, Joe]
2 Steve [Amy, Mike]
2 Amy [Amy, Mike]
Для каждого числа в col1 я хочу выбрать человека в col2 (например, для 1 я хочу выбрать Эми или Джессику). Однако ни один из людей в соответствующем списке в col3 не должен быть выбран (Джессика). Как я могу написать запрос, который приведет к следующей таблице? Я никогда раньше не работал со списками в SQL.
id person
1 Amy
2 Steve
Комментарии:
1. Что такое тип данных
col3
?
Ответ №1:
Предположительно, «список» в col3
представляет собой массив. Если это так:
select t.*
from t
where col2 <> all (col3);
Вот скрипка db<>.
Комментарии:
1. Спасибо! Как я могу проверить тип данных col3?
2. @Hanna . . . Вы можете посмотреть определение таблицы.
3. Есть ли SQL-запрос, который я должен написать, чтобы получить определение таблицы? Я не знаю, как это сделать.
4. @Ханна . . . Вы можете использовать
INFORMATION_SCHEMA.COLUMNS
представление.