psycopg2.ProgrammingError: столбец "METEOROLOGY: WINDSPEED_F" не существует
Вы получаете эту ошибку, потому что вы используете двойные кавычки вокруг целевого значения в вашем запросе WHERE
оператор, здесь:
cur.execute('SELECT tID from titles where name like "METEOROLOGY:WINDSPEED_F" order by structure, comp1, comp2')
Здесь вы получите 0 результатов:
cur.execute("SELECT tID from titles where name like 'METEOROLOG:WINDSPEED_F' order by structure, comp1, comp2")
, поскольку существует 0 строк со значением "METEOROLOG: WINDSPEED_F" в столбце name
, Это может быть просто из-за неправильного написания МЕТЕОРОЛОГИИ.
То, как вы используете LIKE
, вы также можете использовать =
.LIKE
замечательно, если вы собираетесь использовать %
для поиска других значений , таких как , это значение.
Пример:
SELECT *
FROM
TABLE
WHERE
UPPER(NAME) LIKE 'JOSH%'
Это вернет результатыдля этих значений в name
: JOSHUA, JoShUa, Joshua, Josh, JOSH.Если бы я набрал NAME LIKE 'JOSH'
, то я нашел бы результаты только для точного значения JOSH
.
Так как вы устанавливаете значение всеми заглавными буквами в вашем WHERE
, попробуйте добавить UPPER()
на ваш запрос, как это:
cur.execute("SELECT tID from titles where UPPER(name) like 'METEOROLOG:WINDSPEED_F' order by structure, comp1, comp2")