MySQL 在选择查询中使用 OR - 当使用类时

标签 mysql sql select

信息:服务器版本:5.1.39
PHP: 5.4
MySQL/phpMyAdmin
服务器: Apache
代码通过以下方式运行: 服务器 SQL 查询(在 phpMyAdmin 中复制并粘贴)或在 MySQL Workbench 中或使用自定义购物车管理器。
导出到: Excel(.csv,然后导出到 .xlsx 用于销售报告)
其他:我确实用了一些表来做引用

这是我正在运行的更大的 SELECT 查询的一部分。为了简洁起见,我只包含了我目前需要查看的部分。

Select  
T5.orders_id As OrdID,  
T3.products_name As ProdName,  
<continues>  
(select value from /*PREFIX*/orders_total T5 where orders_id = T2.orders_id and class = 'ot_reward_points_discount') As ot_reward_points_discount,  
(select value from /*PREFIX*/orders_total T5 where orders_id = T2.orders_id and class = 'ot_reward_points') As ot_reward_points_discount,  
<more data queries>  
Inner Join /*PREFIX*/orders T5 On (T5.orders_id = T2.orders_id)  
<number of joins and final WHERE/DESC>

结果最终是我有 2 列,数据没有合并。我被指示查看 OR 查询,以便 2 将导致一列。不必担心结果被覆盖,因为它们第一个 select 和第二个 select 来 self 购物车中的不同配置,其中一个早于另一个。

因为 SELECT 从一个类值中选择,所以它返回每个值的列(而不是行)数据我不知道如何创建 OR 查询所以它返回整齐地。

感谢您的帮助,如果我需要提供更多信息,请告诉我。

最佳答案

尝试以这种方式使用OR:

<continues>  
(select value from /*PREFIX*/orders_total T5 
    where orders_id = T2.orders_id and 
        (class = 'ot_reward_points_discount' or class = 'ot_reward_points')
 ) As ot_reward_points_discount,
<more data queries> 

关于MySQL 在选择查询中使用 OR - 当使用类时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20814238/

相关文章:

javascript - html - 选择范围 - 获取范围+起始节点+结束节点+距离

mysql - 组合键中的 auto_increment 用法

php - MongoDB/NoSQL 性能和设计

mysql - 在 VALUE SELECT 语句中使用 GROUP BY 进行 INSERT - 错误 1111 (HY000) : Invalid use of group function

sql - 在 SQL 连接结果中查找组最大值

mysql - 查询以使用 order by 子句获取下一条记录

php - 按日期获取打开和关闭的帖子计数(间隔 1 周)?

php - MySQL 将多个列中的唯一项目分组,每个列有 COUNT 个?

mysql - 在mysql表中某一列的特定位置插入数据

sql - 如何在 PostgreSQL 中使用带有 RANDOM() 函数的 SELECT DISTINCT?