Используя Python, как вернуть только одно значение вместо всей строки в запросе SQL - PullRequest
0 голосов
/ 21 января 2019

У меня есть файл базы данных SQL, который содержит множество столбцов, два из которых «GEO_ID» и «MED_INCOME».Я пытаюсь получить только данные столбца «MED_INCOME», используя связанный «GEO_ID».Вот то, что я думал, будет работать:

import sqlite3 as db

def getIncome(censusID):
    conn = db.connect('census.db')
    c = conn.cursor()
    c.execute("SELECT 'MED_INCOME' FROM censusDbTable WHERE GEO_ID = %s" % (censusID)
    response = c.fetchall()
    c.close()
    conn.close()
    return response

id = 60014001001
incomeValue = getIncome(id)
print("incomeValue: ", incomeValue)

Что приводит к:

incomeValue: [('MED_INCOME',)]

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

c.execute("SELECT * FROM censusDbTable WHERE GEO_ID = %s" % (censusID)

Я получаю данные полной строки, поэтому я знаю, что идентификатор находится в файле базы данных.

Есть ли что-то в моем синтаксисе, что вызывает этозапрос на получение пустого набора?

1 Ответ

0 голосов
/ 21 января 2019

За комментарий @Ernxst я настроил запрос на:

c.execute("SELECT MED_INCOME FROM censusDbTable WHERE GEO_ID = %s" % (censusID)

Удаление кавычек вокруг идентификатора столбца, что решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...