有趣的SQL 问题

kleen 发布于 2017/03/02 15:04
阅读 139
收藏 0

   SELECT *
     FROM t_product_attr
    WHERE attr_type = 1
      AND category_id = 'dae6b12fb69744679c282b38214df580'
   union
   SELECT *
     FROM t_product_attr
    WHERE attr_type = 2
      AND category_id = 'dae6b12fb69744679c282b38214df580'
      and tenant_id = '1dfc8517e85542ae8240c08f9b3abbd2'

这个SQL 如何合并成一条,不用使用 union 来查询

 

加载中
0
gitlab_sam
gitlab_sam
SELECT *
     FROM t_product_attr
    WHERE (attr_type = 1
      AND category_id = 'dae6b12fb69744679c282b38214df580') 
    OR (attr_type = 2
      AND category_id = 'dae6b12fb69744679c282b38214df580'
      AND tenant_id = '1dfc8517e85542ae8240c08f9b3abbd2')

个人理解:union 是将两部分符合条件的查询结果拼接,用OR条件查询符合两个条件任意一个,两者一定程度上,结果是一致的

0
风翔飞
风翔飞

引用来自“gitlab_sam”的评论

SELECT *
     FROM t_product_attr
    WHERE (attr_type = 1
      AND category_id = 'dae6b12fb69744679c282b38214df580') 
    OR (attr_type = 2
      AND category_id = 'dae6b12fb69744679c282b38214df580'
      AND tenant_id = '1dfc8517e85542ae8240c08f9b3abbd2')

个人理解:union 是将两部分符合条件的查询结果拼接,用OR条件查询符合两个条件任意一个,两者一定程度上,结果是一致的

category_id = 'dae6b12fb69744679c282b38214df580' 可以拿出来

gitlab_sam
gitlab_sam
是的,观察入微,服
0
蓝水晶飞机
蓝水晶飞机

很无趣。。。哈哈,你把两个条件做个OR的关系就搞定了。

返回顶部
顶部