Oracle 的复杂奇葩查询要求,求围观!!!!

如图:

  • TableA 表中有三个字段:name 字段的值是含义,value 字段的值是标记,code 字段是用来区分数据类别的
  • TableB表中有两个字段:remark 和 status 都是标记,对应 TableA 表的 value 字段
  • 现在要求把 TableB 表里的这两个字段的含义查出来(只查一次)。 图片说明图片说明

这是我应那奇葩要求写的 sql,当然,是失败

SELECT 
    b.name AS remarkString,
    b.name AS statusString
FROM 
    TableA a
INNER JOIN
    TableB b
ON
    (b.code = 1 AND a.remark = b.value)
OR
    (b.code = 2 AND a.status = b.value)

这个是可以,但不符合要求,查询次数 n 多

 SELECT 
    (SELECT name FROM TableB b WHERE b.code = 1 AND a.remark = b.value) AS remarkString,
    (SELECT name FROM TableB b WHERE b.code = 2 AND a.status = b.value) AS statusString
FROM 
    TableA a
0

3个回答

SELECT
a.name AS remarkString,
b.name AS statusString
FROM (select name,value from A,B where A.code = 1 and B.remark=A.value) a,(select name,value from A,B where A.code = 2 and B.status
=A.value) b where a.value=b.value;

图片说明

不知道你是不是想达到这种效果。

1
qq_40574584
六月下起了大雪 我的A是你的TABLE A,B是你的TABLE B
大约一年之前 回复

SELECT
a.name AS remarkString,
aa.name AS statusString
FROM
TableB b
left join TableA a on a.value=b.remark and a.code=1
left join TableA aa on aa.value=b.status and aa.code=2

请采纳,谢谢

1
qq_31165105
欧阳-95 大佬,抱歉,楼上有人提供了类似的方法。。。。。
大约一年之前 回复

都没描述清楚,你tableB中又没有code 段,怎么一一对应。。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
10个让程序员瞬间炸毛的奇葩需求
点击上方蓝色字体【学习web前端】可【快速关注】【讲座】大咖说-前端大型免费公开讲座【教程】精品教程在这里作为一名程序猿想必都遇到过一些让自己炸毛的奇葩需求本文为大家整理...
oracle的一些sql查询例子,(子查询、分组查询、求和、求平均数等等)都囊括到了。(1)
其实写博客的这个想法我有了很久了,但一直觉得自己文采不行,怕是不能将一些问题讲述清楚。后来想到写了也不一定就有人看得到,权且就当做是自己的一个笔记吧。 今天要发布的是一个oracle的sql查询例子,里面的sql语句都是博主自己写的,虽然可能不是最好的答案,但也都能查询成功。这个例子也如标题所讲的把sql的一些分组查询、子查询等等都运用上了。我们就废话不多说,看例子吧。 因为博主用到
我这个博客
博客开了一年也就开始那段时间写了几篇文章,我很讨厌写作文,当初开启这个博客也是因为想有一个在线的工作笔记,把工作中的问题和解决方法都记录到这里,方便以后的查找。刚开始的确是这样做了,后来发现有些麻烦,所以很长时间都没有光顾了。今天看了看以前写的几篇文章,发现自己真的已经忘记了那些知识点,看来记录下来还是有必要的
Oracle(SQL查询测试题)
--客户表a(id name address) 登陆流水表b(id time) 购物流水表c(id time productid productnum) --1.求每个客户的最新登陆时间time,姓名name,客户id? --2.查最新登陆并且已经购买商品的客户id,name,登陆的时间time(一条sql语句) --一个表student...
oracle中用户密码复杂度配置
口令长度至少8位,包括数字、小写字母、大写字母和特殊符号4类中至少3类(1)查看参数 select limit from dba_profiles where resource_name='PASSWORD_VERIFY_FUNCTION' and profile in (select profile from dba_users where account_status='OPEN'); ---...
Oracle 多表联合查询SQL92语法版
1、笛卡尔积 全排列,将A表和B表中的数据一一对应一次,得到一个新的结果集表。其特点是结果集表中有符合要求的数据也有垃圾数据。 实例1、查询员工及其部门信息 select * from emp,dept 2、内连接 2.1、等值连接 在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列 ...
ibatis2.3.X培训文档.ppt
刚找到的分享下 求围观
sql语句两个练习 emp dept 复杂查询
查询指定列 select sal from emp WHERE ename='SMITH'    //转换成小写也行 如何取消重复行    统计共有多少个部门编号   distinct只能消除完全一样的行,会保留一行 SELECT DISTINCT deptno FROM emp    //抛弃的是完全一样的 使用算数表达式  显示每个雇员的年工资 SE
盘点身为程序员所遇到的各种奇葩需求
部门老大:你,做个微信小游戏吧 我:啥样的? 老大:反正你就做个小游戏吧,这个火 我:????? 领导:那个运维啊,你来把他的系统破解了,要不把他服务器黑了也行。给你一天时间,搞不搞得定。 说一个奇葩的idea啊,大一那年学校里让报互联网+比赛一个奇葩同学出的奇葩idea。 他问我们导师共享单车算不算互联网+,导师说算的算的。ok,于是他感到思如泉涌,也决定搞一个共享新模式——...
Oracle复杂查询实验报告
Oracle复杂查询实验报告, 用SQL语句实现下列查询。要求:能用嵌套查询的尽量使用嵌套查询。
消磨时光的 15 个网站
注:此文首发于煎蛋,原作者为Vern (专栏)。有很多的文章在告诉我们,怎样有效地利用时间。但有的时候,我们就是不想有效地利用时间,这个时候该怎么办呢?站起来走走?以下这些网站会让你打消这个想法,把你牢牢地钉在你的电脑前:第一部分:做点什么1. MyGamehttp://www.mygame.com/用一张照片和一点时间,就可以玩到自己制作的游戏。2. Fuzzwich
哪些奇葩问题会让程序员抓狂?
点击上方“CSDN”,选择“置顶公众号”关键时刻,第一时间送达!如何惹恼程序员?本文排个雷。一、作为一名程序员,很多事情会让自己心烦意乱,通常我都对其置之不理。不过在这里...
Oracle的多种复杂查询深入讲解
1、多表查询 1.1、简介 需要从多个数据表里取出数据,那么就属于多表查询,在FROM子句后面要设置多张数据表。 1.2、语法 ? 1 2 3 4 SELECT [DISTINCT] * | 列名称 [别名],列名称 [别名],... FROM 表名称[别名],表名称[别名] [WHERE  过滤条件(s)] ...
复杂的ORACLE查询语句
1:列出所有员工的姓名,部门名称,和工资 select a1.ename,a1.sal,a2.dname from emp a1,dept a2 where a1.deptno = a2.deptno; 2:列出所有部门的详细信息和部门人数 select a2.deptno,a2.dname,a2.loc,count(a1.empno) from emp a1,dept a2 where a
oracle spatial 增查SQL示例(二 ) 复杂多边形
矩形:矩形的具体几何形状和坐标,如下图: 用SDO_GEOMETRY定义该矩形,如何确定sdo_geometry()构造方法中的各个参数值。详细解释如下:SDO_GTYPE = 2003;2003中的2表示二维数据,2003中的3表示表示多边形。具体参考 图1 SDO_SRID = NULL; SDO_POINT = NULL; SDO_ELEM_INFO = (1, 1003, 3).
shell 中的if奇葩语句
if 语句 第一种语法格式: if  条件判断  then  command fi eg. #!/bin/sh if test 3 -eq 3 then echo Yes fi 第二种语法格式: if  条件判断 then  command esle command fi eg. #!/bin/sh if [ -d /home/user01
那些让程序员瞬间炸毛的奇葩需求
想必都遇到过一些让自己炸毛的奇葩需求     本文为大家整理了10个最经典案例 一起看看他们的血泪史吧! – 01 –       – 02 –     – 03 –     – 04 –             – 05 –     – 06 –     – 07 –     – 08 –  ...
IT笑话之那些年我们见过的奇葩产品经理
-
史上最奇葩的5个编程语言,其指令更算计了奶牛、空格等
原文:Most Difficult (and Strangest) Programming Languages  作者:Deepak Karanth  译者:王鹏,OneAPM工程师 最难学编程语言有哪些?很多人都用过Java、C、C++之类的编程语言编写代码。再早几年,很多人会使用Pascal、Fortran、COBOL等编程。在学习这些语言的过程中,会遇到足够的挑战,让你抓狂
解析Oracle中sql语句的复杂查询
在sql语句中查询使用的频率最高,也是难点,特别是
对两个奇葩的C语言程序的思考
两个奇葩的C语言程序 #include <stdio.h> #include <stdlib.h> void main(int i) { printf("%d\n", i); (&main + (&exit - &main)*(i/1000))(i+1); }
作为一名程序员,你见过哪些奇葩的需求?
作为一名程序员,想必大部分网友都做过不止一个类型的项目,特别是一些小的互联网公司,每个程序员要做的事情可能并不是那么专一,做的事情相对较杂一点,会能碰到各种各样的需求,当然,大部分需求要求的都是挺合理,也不免会有一些奇葩的需求出现,让程序员感觉到很是为难,在这样的背景下,就有一名网友就提出了一个问题。 这名网友就发帖询问:“程序员遇到的最奇葩的需求都有些什么?”,针对这个问题,网友们也是纷纷发表...
论一个博客公开的技术含量
博客作为一种公开的手段,也体现了作者的思想和技术贡献,是能够作为衡量一个人的技术水平的参考物,在法律公开上来说,也算一种公开的手段。有人会质疑一个博客的修改时间依然为公开时间,这要涉及经营博客论坛等的网络公司后台如何设置,因此,建议每次作者更新,就要体现一下更新的时间点,但是每次编辑的内容依然要保留,好保留好公开的证据,这样对作者还有同行的公众,都更加公平和公正。 这里,时间点是一个技术贡献的关
Oracle 学习日记:分组查询,子查询,复杂查询
今天依旧学习了Oracle的查询操作,内容是分组查询,子查询,复杂查询,下面将今天的部分代码贴到下边 –在where子句中使用子查询 select sal from emp where job = ‘MANAGER’; select * from emp where sal in ( select sal from emp where job = ‘MANAGER’); –注...
我萌的红太阳发现了她自己的博客%%%%%%%%%%%%%%%%
大家都太弱了,需要红太阳的光芒!!!这是红太阳%%%%%%%
自学Oracle,复杂嵌套查询
本人周二去江苏富士通面试(经老师介绍去面试,此公司主要做linux平台下的c底层开发,而我想应聘的是java,一看面试题一脸蒙b,无奈硬着头皮做。。。),一上来做了五道面试题,其中四道是算法,一道是数据库,其中数据库的那道题比较复杂,面试当场我没能做出来,正好最近在自学oracle(好多公司都要求用oracle),顺便把这道题模拟一下,在同事帮助下终于解决,题目大致如下: 有两张表:用户表:身份
oracle简单和复杂的SQL语句练习
      在写这第二篇文章的时候,我又想着该用什么幽默风趣的词来开始我的开头,好让你们能够有兴趣看我的第三篇文章。此刻的我并没有像第一次一样不知所宗,这次我并没有忘记主题,我知道我是要写sql的内容的,而且还是那种很长很硬的sql,如果你是个sql爱好者你可能会说,这家伙的sql语句真给力,特别的实用,如果你只是想简单学习下,我怕你会骂我说,这家伙真脑残从哪里找的这么硬的sql。哈哈,话不多说,...
js 各种奇葩写法
学标准语言出身的人,看到js各种写法觉得匪夷所思,感觉js是一种随便乱写都不会报错的语言.下面总结一下js的各种奇葩写法. 对象 var a= {}; 数组 var b = []; 史上最简单声明对象与数组写法   匿名函数 (function(i)(alert(i))(5); (window.aa = function () { alert(); })(); 写法相当怪异,实
ORA-12015 不能从复杂查询中创建一个可快速刷新的实体化视图
物化视图的快速刷新 物化视图的快速刷新(一)  物化视图有三种刷新方式:COMPLETE、FAST和FORCE。 完全刷新(COMPLETE)会删除表中所有的记录(如果是单表刷新,可能会采用TRUNCATE的方式),然后根据物化视图中查询语句的定义重新生成物化视图。快速刷新(FAST)采用增量刷新的机制,只将自上次刷新以后对基表进行的所有操作刷新到物化视图中去。采用FORCE方式,Oracl...
10个让程序员瞬间炸毛的奇葩需求(2018最新版)
作为一名程序猿 想必都遇到过一些让自己炸毛的奇葩需求 本文为大家整理了10个最经典案例 一起看看他们的血泪史吧! - 01 -  - 02 - - 03 - - 04 -   - 05 -  - 06 - - 07 - - 08 - - 09 -  - 10 - 某项目UAT日常例会。 不知各位程序员大佬...
Oracle多表查询(复习)
笛卡尔积 SQL&amp;gt; select * from emp,dept; 基本原理: 两个表如果笛卡尔集运算 (1)行数是两个表行数相乘的结果 (2)列是两个表合集 特点: 连接条件被忽略。 第一个表中的所有的行与第二个表中的所有行相连接。 避免笛卡尔积:在WHERE子句中加入条件。 连接的类型: 相等连接 比较连接(θ连接)的一种特例,它的连接谓词只用了相等比较 ...
Oracle 物化视图之--复杂物化视图创建
Oracle 物化视图之--复杂物化视图创建 包含聚集的物化视图 1.必须满足所有快速刷新物化视图都满足的条件; 2.物化视图查询的所有表必须建立物化视图日志,且物化视图日志必须满足下列限制: (1)包含物化视图查询语句中的所有列,包括SELECT列表中的列和WHERE语句中的列; (2)必须指明ROWID和INCLUDING NEW VALUES; (3)如果对基本的操作同时包括
Oracle中简单的SQL查询语句练习
#建学生信息表studentcreate table student(sno varchar(20) not null primary key,sname varchar(20) not null,ssex varchar(20) not null,sbirthday DATE,class varchar(20));#建立教师表create table teacher(tno varchar(20...
oracle复杂查询(学生成绩相关)
设有一个关系数据库,有三个基本表,表结构如下:     表一、student     学号stu_id 姓名name 年龄age 性别gender 系号depart_id     表二、sc     学号stu_id 课程号course_code  成绩score     表三、course     课程号course_code  课程名course_name 学时数 course
借助内存表处理复杂的oracle查询要求
借助内存表处理复杂的oracle查询要求.在日常业务处理过程中,我们经常会碰到一些非常规的查询需求, 这些需求我们或者可以借助动态语句,或者其他现有的oracle函数完成查询结果, 但效率往往差强人意. 假设我们有一个客户订单业务表{订单号, 订单客户, 订单日期, 数量, 金额}存储了订单的往来明细数据,订单表中保存最近3个月的往来明细共1000w条记录, 其中客户总量约500000.
奇葩算法——确定多项式系数
今天偶然在朋友圈看到一个令人拍案叫绝的奇葩算法,和大家分享一下。 一、背景: 现在在一个黑盒中,有一个不知道系数全部为正整数的关于x的多项式 p(x)。 每一次,都可以给黑盒输入一个整数,黑盒子将会返回结果。 那么,输入多少次之后能够确定所有的系数呢? 答案:两次。 二、分析: 第一次,输入 1.于是便的到整个多项式的所有系数之和 S。 第二次,输入 S+1,于是黑盒子返回
Oracle中复杂数据处理
利用聚合函数统计数据 求最大值-max() max()可应用数值型和字符型和日期型(实质也是数值型) select max(employee_age) max_age from employees max()应用字符型时,会按照字母表有前之后的顺序进行排序,如果含有英文名,则英文名永远排在中文名之前 求最小值-min() 求平均值-avg() avg()只能用于数值型
oracle技巧部分
oracle,oracle与java,复杂查询等等
Oracle层级查询语句(hierarchical query)connect by 用法详解
Oracle Connect By Prior用法 oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:   select ... from   where   start with   connect by   ;   :过滤条件,用于对返回的
oracle 学习 复杂查询、多表连接查询、课后练习题答案
oracle 学习笔记 –复杂查询 –多表连接查询 SELECT * FROM emp; SELECT * FROM dept; –笛卡尔积 15*4=60 条 SELECT emp.*,dept.deptno,dept.dname,dept.loc FROM emp,dept ORDER BY empno; –等值连接 SELECT emp.*,dept.deptno,de...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 产品经理要求 区块链要求

相似问题

0
求大神帮忙解决SUSE11 SP2下安装grid问题
1
整理oracle中procedure的所有方法名和参数
1
请问sqlsever 中left(TERM,len(TERM)-1) >=12在oracle中要怎么写呢
1
Winfrom程序连接Oracle引发异常,求解决方案!
1
使用游标查询部门为10的员工,并为其增加1000元,我这里测试反馈数据不正确,麻烦请教感谢
2
行转列列转行求大神们帮帮忙,新人小白在线求人回答问题
0
oracle数据库表内数据设置 菜鸟跪求
1
本地oracle每次登录都报错(ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exit)
1
mysql的两条语句,但运行后查询结构有时候会不一样。大神帮我看一下两句话的条件有什么差别把0 0
2
oracle 运行SQL乱码?求解
2
sql语句在oracle里可以运行,在程序里运行报错ora-00933
0
oracle18c安装时提示无法创建 oracle Oracle 主目录用户
4
虚拟机CentOS7.0 1406安装Oracle 11G依赖组件failed
2
mybatis。要求查询结果返回一个Map,Map的key为两个字段拼接的值,value为整条记录对应的对象
4
oracle查询,条件中如果某些sum不等于0怎么写
1
关于一张表内多个时间字段关联问题下面粘上要查询的表结构及查询说明如果没有方法的话请留言这问题无解
2
oracle如何将已有的日期数据从年月日时分秒格式更新为时分秒格式
1
oracle 报错ORA-00937: not a single-group group function
1
每次使用oracle数据库时,服务启动了,每次都报错ORA-01034: ORACLE not available
1
ORACLE的数据查询性能问题