pandas .read_sql_query - как правильно написать условие WHERE, если и имя столбца, и искомое значение содержат пробел - PullRequest
0 голосов
/ 27 мая 2020

Я пишу запрос SQL следующим образом

df = pd.read_sql_query('SELECT * FROM hr_dataset WHERE "Performance Score" = "Needs Improvement";', conn)
hr_dataset - table
Performance Score - column
Needs Improvement - searched value

И имя столбца, и искомое значение содержат пробел, поэтому я должен использовать кавычки, но этот запрос выдает ошибку.

**DatabaseError**: Execution failed on sql 'SELECT * FROM hr_dataset WHERE "Performance Score" = "Needs Improvement";': column "Needs Improvement" does not exist
LINE 1: ...ECT * FROM hr_dataset WHERE "Performance Score" = "Needs Imp...

Как правильно написать такой запрос?

Ответы [ 2 ]

0 голосов
/ 27 мая 2020

Используйте запрос ниже, «Требуется улучшение» упоминается в двойных кавычках, где база данных считает его именем столбца

SELECT * FROM hr_dataset WHERE Performance Score = 'Needs Improvement';
0 голосов
/ 27 мая 2020

если это SQL Сервер

SELECT * FROM hr_dataset WHERE [Performance Score] like '%Needs Improvement%'

если это MySQL

SELECT * FROM hr_dataset WHERE `Performance Score` like '%Needs Improvement%'

если это PostgresSQL, попробуйте

SELECT * FROM hr_dataset WHERE "Performance Score" like '%Needs Improvement%'

См. скрипку для PostgresSQL

...