MySQL条件选择_Mysql选择条件逻辑

SELECT days.meta_value

FROM tableName AS from_country,

tableName AS to_country,

tableName AS days

WHERE from_country.item_id = to_country.item_id

AND from_country.item_id = days.item_id

AND from_country.field_id = 90

AND to_country.field_id = 93

AND days.field_id = 251

如果要按from_country.meta_value或类似方法进行过滤,可以添加更多限制.您应该将tableName替换为表的实际名称.

将from_country,to_country和days视为表中行的三个不同指针,或者从您的关系中获取值的不同变量.您希望它们中的所有三个都描述相同的项目,并且您还希望它们中的每一个都引用与其名称相关联的字段.这导致上述条件.

您甚至可以创建一个视图,以便像正确设计的那样访问这个设计糟糕的表:

CREATE VIEW viewName AS

SELECT item.item_id AS item_id,

from_country.meta_value AS from_country,

to_country.meta_value AS to_country,

days.meta_value AS days

FROM (SELECT DISTINCT item_id FROM tableName) AS item

LEFT JOIN tableName AS from_country

ON (from_country.item_id = item.item_id AND

from_country.field_id = 90)

LEFT JOIN tableName AS to_country

ON (to_country.item_id = item.item_id AND

to_country.field_id = 93)

LEFT JOIN tableName AS days

ON (days.item_id = item.item_id AND

days.field_id = 251)

这将创建一个包含四列的视图,您可以从中选择:

SELECT days FROM viewName WHERE from_country LIKE 'A%'

或者你想要选择的任何东西.请注意,由于左连接,某些项的缺失值将导致NULL值.这与上面的查询形成对比,后者将省略任何未指定所有三个值的项目.在你的情况下使用更合适的东西.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值