Как перевести это в SQLObject: ВЫБЕРИТЕ DISTINCT имя столбца ГДЕ
Я просматривал документацию и форумы по http://sqlobject.org/ и sqlbuilder и не могу понять информацию там.
У меня есть конкретный запрос SQL, который мне нужен:
select distinct author from blogtable where keyword = "dust";
Несколько авторов могут оставлять сообщения о нескольких темах.
Запрос работает с базой данных MySQL, если я использую необработанный SQL-запрос. Но я не могу понять, что я должен сделать, чтобы это правильно работало в SQLObject.
Я вижу кучу ссылок на sqlbuilder, но страница руководства не очень обширна. Примеры, представленные в группах Google, также говорят так, как будто SQLbuilder является ответом, но опять же, нет конкретного примера (для моей проблемы), который я могу понять.
Может ли кто-нибудь хорошо разбираться в SQLObject объяснить мне, как я реализую вышеупомянутый SQL в SQLObject? Если это невозможно, могу ли я каким-либо образом передать исходный sql через SQLObject в базу данных?
1 ответ
У меня нет большого опыта работы с SQLObject, но из документов я делаю вывод, что это должно быть что-то вроде этого:
class Blog(SQLObject):
class sqlmeta:
table = 'blogtable'
author = StringCol()
keyword = StringCol()
Blog.select(Blog.q.keyword=='dust', distinct=True)
Версия 2
select = Select(
[Blog.q.author],
Blog.q.keyword=='dust',
distinct=True,
)
sql = connection.sqlrepr(select)
for author in connection.queryAll(sql):
print author