当前位置: 代码迷 >> Oracle技术 >> 一个条件sql解决方法
  详细解决方案

一个条件sql解决方法

热度:121   发布时间:2016-04-24 08:39:17.0
一个条件sql
写一个sql 
--条件
--1.订单来源(ORD_SOURCE)为 102 和 103 ->ord表
--需要栏位: 会员账号(id)-> mem表
mem.id =ord.id 


就是想知道 订单来源(ORD_SOURCE)为 102 和 103 怎么写
最后显示 102 和103的订单会员都要显示



------解决方案--------------------
SQL code
SQL> select *  2    from (with ord as (select 1 ID, 102 ORD_SOURCE  3                         from dual  4                       union all  5                       select 2 ID, 103 ORD_SOURCE  6                         from dual  7                       union all  8                       select 3 ID, 105 ORD_SOURCE from dual), mem as (select 1 ID,  9                                                                              '张三' NAME 10                                                                         from dual 11                                                                       union all 12                                                                       select 2 ID, 13                                                                              '李四' NAME 14                                                                         from dual 15                                                                       union all 16                                                                       select 3 ID, 17                                                                              '王五' NAME 18                                                                         from dual) 19           select ord.id, ord.ORD_SOURCE, mem.NAME 20             from ord, mem 21            where ord.ID = mem.ID) 22            where ORD_SOURCE = 102 23               or ORD_SOURCE = 103;         ID ORD_SOURCE NAME---------- ---------- ----         1        102 张三         2        103 李四 SQL>
------解决方案--------------------
可以用 in(102, 103) 也可以用 or。
------解决方案--------------------
ORD_SOURCE = ‘102’ or ORD_SOURCE = ‘103’
  相关解决方案