Python SQLAlchemy(sql)条件查询
我有一个问题,我有一个这样的表产品,有两列target和actual,我如何构建一个查询并告诉它:如果target==那么从actual中选择。更清楚地说,这是我的表产品,有两列:Python SQLAlchemy(sql)条件查询,python,mysql,sql,sqlalchemy,Python,Mysql,Sql,Sqlalchemy,我有一个问题,我有一个这样的表产品,有两列target和actual,我如何构建一个查询并告诉它:如果target==那么从actual中选择。更清楚地说,这是我的表产品,有两列: actual | target --------------- p12 | <null> p14 | h20 p16 | <null> p16 | <null> p16 | <null> p16 | <null> p1
actual | target
---------------
p12 | <null>
p14 | h20
p16 | <null>
p16 | <null>
p16 | <null>
p16 | <null>
p16 | <null>
因此,我想选择一个值'xx',如何在SQLAlchemy或sql中构建此条件,告诉它在列目标中查找它,但如果单元格为空,则在实际列单元格中查找它
这可能吗?使用IFNULLTarget,实际值而不是目标值
ISnull是SQL,ifnull是mysql,对此很抱歉。使用IFNULLTarget,实际值而不是目标值
ISnull是SQL,ifnull是mysql,对此很抱歉。使用IFNULLTarget,实际值而不是目标值
ISnull是SQL,ifnull是mysql,对此很抱歉。使用IFNULLTarget,实际值而不是目标值
ISnull是SQL,如果Null是mysql,很抱歉。SQL有一个case语句。在这种情况下,它将类似于: CASE MYTARGET当TARGET不为NULL时,则TARGET ELSE为实际值
我不是数据库专家,但我使用过这种结构。Mytarget是一个新列SQL有一个case语句。在这种情况下,它将类似于: CASE MYTARGET当TARGET不为NULL时,则TARGET ELSE为实际值
我不是数据库专家,但我使用过这种结构。Mytarget是一个新列SQL有一个case语句。在这种情况下,它将类似于: CASE MYTARGET当TARGET不为NULL时,则TARGET ELSE为实际值
我不是数据库专家,但我使用过这种结构。Mytarget是一个新列SQL有一个case语句。在这种情况下,它将类似于: CASE MYTARGET当TARGET不为NULL时,则TARGET ELSE为实际值 我不是数据库专家,但我使用过这种结构。Mytarget是一个新列听起来像是要合并,它接受多个参数并返回第一个参数,该参数不是null,如果所有参数都为null,则返回null 假定设置合理:
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Product(Base):
__tablename__ = "product"
id = sa.Column(sa.Integer, primary_key=True)
actual = sa.Column(sa.String)
target = sa.Column(sa.String)
使用sqlalchemy.func.coalesce:
编辑:如果缺少的值不是null,而是其他值,则应使用大小写表达式
>>> print session.query(sa.case([(Product.target == '', Product.actual)], else_=Product.target))
SELECT CASE WHEN (product.target = :target_1) THEN product.actual ELSE product.target END AS anon_1
FROM product
听起来像是需要COALESCE,它接受多个参数并返回第一个参数,该参数不为null,如果所有参数都为null,则返回null
假定设置合理:
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Product(Base):
__tablename__ = "product"
id = sa.Column(sa.Integer, primary_key=True)
actual = sa.Column(sa.String)
target = sa.Column(sa.String)
使用sqlalchemy.func.coalesce:
编辑:如果缺少的值不是null,而是其他值,则应使用大小写表达式
>>> print session.query(sa.case([(Product.target == '', Product.actual)], else_=Product.target))
SELECT CASE WHEN (product.target = :target_1) THEN product.actual ELSE product.target END AS anon_1
FROM product
听起来像是需要COALESCE,它接受多个参数并返回第一个参数,该参数不为null,如果所有参数都为null,则返回null
假定设置合理:
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Product(Base):
__tablename__ = "product"
id = sa.Column(sa.Integer, primary_key=True)
actual = sa.Column(sa.String)
target = sa.Column(sa.String)
使用sqlalchemy.func.coalesce:
编辑:如果缺少的值不是null,而是其他值,则应使用大小写表达式
>>> print session.query(sa.case([(Product.target == '', Product.actual)], else_=Product.target))
SELECT CASE WHEN (product.target = :target_1) THEN product.actual ELSE product.target END AS anon_1
FROM product
听起来像是需要COALESCE,它接受多个参数并返回第一个参数,该参数不为null,如果所有参数都为null,则返回null
假定设置合理:
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Product(Base):
__tablename__ = "product"
id = sa.Column(sa.Integer, primary_key=True)
actual = sa.Column(sa.String)
target = sa.Column(sa.String)
使用sqlalchemy.func.coalesce:
编辑:如果缺少的值不是null,而是其他值,则应使用大小写表达式
>>> print session.query(sa.case([(Product.target == '', Product.actual)], else_=Product.target))
SELECT CASE WHEN (product.target = :target_1) THEN product.actual ELSE product.target END AS anon_1
FROM product
ISNULL只接受一个参数,您是否IFNULL?ISNULL只接受一个参数,您是否IFNULL?ISNULL只接受一个参数,您是否IFNULL?请回答一个问题,是否有一个函数执行相同的操作,但值为空?请回答一个问题,是否有一个函数执行相同的操作但值为空?请回答一个问题,是否有一个函数执行相同的操作但值为空?请回答一个问题,是否有一个函数执行相同的操作但值为空?