这个怎么会查不出来?

WormJan 2017-03-19 08:23:35
表A:
aid type value
1 1 12
1 1 13
1 2 6
2 1 0
2 2 0
3 1 15



如果 type是1,value是12, 或者 type是1,value是13, 或者type是1 value是0
如果 type是2,value是0 或者 type是2,value是6


都允许查出来

我写了一个,没有发现哪里有问题,但是查不出来 :

select * from A where ((type = 1 and value = 0) or (type = 1 and value=13) or (type = 1 and value=12)) and ((type = 2 and value = 0) or (type = 2 and value = 6))

请大侠指点,谢谢
...全文
263 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WormJan 2017-04-11
  • 打赏
  • 举报
回复
引用 4 楼 sinat_28984567 的回复:
[quote=引用 3 楼 superfans98 的回复:] type=1 value=13 的查不出来。 这个关系,有点没说明白。 type=1的时候,因为访客的1的值可能有3个。所以type=1的时候,value可能有多个,都符合条件,并且,同时还要满足当type=2的时候,value的多个可能的值。 也就是说type=1时,访客的value的值只要有一个匹配就符合要求,但是,还要同时符合type=2时的条件。
--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([aid] int,[type] int,[value] int)
Insert #T
select 1,1,12 union all
select 1,1,13 union all
select 1,2,6 union all
select 2,1,0 union all
select 2,2,0 union all
select 3,1,15
GO

if not object_id(N'Tempdb..#article') is null
	drop table #article
Go
Create table #article([aid] INT,title NVARCHAR(100))
Insert #article
select 1,'文章1' UNION
SELECT 2,'文章2' UNION
SELECT 3,'文章3'
Go
--测试数据结束
SELECT  DISTINCT a.*
FROM    #article a
        JOIN #T b ON b.aid = a.aid
        JOIN #T c ON c.aid = a.aid
WHERE   b.type = 1
        AND ','+'1,12,13'+',' LIKE '%,'+RTRIM(b.value) + '%,'			--这里改成这样的,下边那个也是
        AND c.type = 2
        AND c.value = 6;			--去读职业为6的 ,同上边一样
[/quote] 谢谢,结帖
二月十六 2017-03-20
  • 打赏
  • 举报
回复
引用 3 楼 superfans98 的回复:
type=1 value=13 的查不出来。 这个关系,有点没说明白。 type=1的时候,因为访客的1的值可能有3个。所以type=1的时候,value可能有多个,都符合条件,并且,同时还要满足当type=2的时候,value的多个可能的值。 也就是说type=1时,访客的value的值只要有一个匹配就符合要求,但是,还要同时符合type=2时的条件。
--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([aid] int,[type] int,[value] int)
Insert #T
select 1,1,12 union all
select 1,1,13 union all
select 1,2,6 union all
select 2,1,0 union all
select 2,2,0 union all
select 3,1,15
GO

if not object_id(N'Tempdb..#article') is null
	drop table #article
Go
Create table #article([aid] INT,title NVARCHAR(100))
Insert #article
select 1,'文章1' UNION
SELECT 2,'文章2' UNION
SELECT 3,'文章3'
Go
--测试数据结束
SELECT  DISTINCT a.*
FROM    #article a
        JOIN #T b ON b.aid = a.aid
        JOIN #T c ON c.aid = a.aid
WHERE   b.type = 1
        AND ','+'1,12,13'+',' LIKE '%,'+RTRIM(b.value) + '%,'			--这里改成这样的,下边那个也是
        AND c.type = 2
        AND c.value = 6;			--去读职业为6的 ,同上边一样
WormJan 2017-03-19
  • 打赏
  • 举报
回复
引用 2 楼 sinat_28984567 的回复:
我用mssql写了个例子,你看看
--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([aid] int,[type] int,[value] int)
Insert #T
select 1,1,12 union all
select 1,1,13 union all
select 1,2,6 union all
select 2,1,0 union all
select 2,2,0 union all
select 3,1,15
GO

if not object_id(N'Tempdb..#article') is null
	drop table #article
Go
Create table #article([aid] INT,title NVARCHAR(100))
Insert #article
select 1,'文章1' UNION
SELECT 2,'文章2' UNION
SELECT 3,'文章3'
Go
--测试数据结束
SELECT  a.*
FROM    #article a
        JOIN #T b ON b.aid = a.aid
        JOIN #T c ON c.aid = a.aid
WHERE   b.type = 1
        AND b.value = 12			--读取兴趣为12的,这个12应该是传入进来的,根据当前访问人
        AND c.type = 2
        AND c.value = 6;			--去读职业为6的 ,同上边一样
type=1 value=13 的查不出来。 这个关系,有点没说明白。 type=1的时候,因为访客的1的值可能有3个。所以type=1的时候,value可能有多个,都符合条件,并且,同时还要满足当type=2的时候,value的多个可能的值。 也就是说type=1时,访客的value的值只要有一个匹配就符合要求,但是,还要同时符合type=2时的条件。
二月十六 2017-03-19
  • 打赏
  • 举报
回复
我用mssql写了个例子,你看看
--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([aid] int,[type] int,[value] int)
Insert #T
select 1,1,12 union all
select 1,1,13 union all
select 1,2,6 union all
select 2,1,0 union all
select 2,2,0 union all
select 3,1,15
GO

if not object_id(N'Tempdb..#article') is null
	drop table #article
Go
Create table #article([aid] INT,title NVARCHAR(100))
Insert #article
select 1,'文章1' UNION
SELECT 2,'文章2' UNION
SELECT 3,'文章3'
Go
--测试数据结束
SELECT  a.*
FROM    #article a
        JOIN #T b ON b.aid = a.aid
        JOIN #T c ON c.aid = a.aid
WHERE   b.type = 1
        AND b.value = 12			--读取兴趣为12的,这个12应该是传入进来的,根据当前访问人
        AND c.type = 2
        AND c.value = 6;			--去读职业为6的 ,同上边一样
WormJan 2017-03-19
  • 打赏
  • 举报
回复
type 1 和 2 要求同时满足条件才能查询出来
版本:presto-server-0.214.tar软件版本 presto-cli-0.214-executableCentOS71、presto的起因 hadoop ---hdfs----MR(java)-----hivehive底层原理用MR,速度比较慢,公司hadoop集群主要集中于晚上到凌晨,平日工作时间负载不是很高。但在工作时间内,公司业务人员有实时查询的需求,现在主要借助于hive提供业务人员的查询。hive是基于MR类的SQL查询工具,他会输入的查询SQL解析为MapReduce,能极大的降低使用大数据门槛,让一般的业务人员可以直接准对大数据进行查询,但是有一个利弊,它的查询基于MR,会让人等待比较着急,等待的时间可能是几个小时或者一天。 spark基于内存提高改良的hive,sql,现在factbook在hive上面开发一套利器,准对hive可以通过sql语句快速查询,presto。2、Facebook为何开发Presto  Facebook的2011的数据仓库存储在少量大型hadoopfs集群,Hive是FaceBook在几年前专门为Hadoop打造的一款数据仓库工具,在以前,facebook的科学家和分析师一直靠hive进行数据分析.但hive使用MR作为底层计算框架,是专为批处理设计的,但是随着数据的不断增多,使用hive进行一个简单的数据查询可能要花费分钟或者几个小时,显然不能满足查询需求,FaceBooke也调研了其他比hive更快的工具,但是他们需要在功能有限的条件下做简单操作,以至于无法操作Facebook庞大的数据要求。2012年开始研究自己的框架--presto,每日可以超过1pb查询,而且速度比较快,faceBook声称Presto的性能比hive要好上10倍或者100倍,presto和hive都是facebook开发的 Presto是一个开源的分布式SQL查询引擎,适用于交互式查询,数据量支持GB到PB字节。Presto的设计和编写完全是为了解决Facebook这样规模的商业数据仓库交互式分析和处理速度的问题Presto可以做什么 Presto支持在线数据查询,包括Hive kafka Cassandra关系数据库以及专门数据存储,一条Presto查询可以将多个数据源进行合并,可以跨越整个组织进行分析。Presto以分析师的需求作为目标,他们期望相应速度小于1秒到几分钟,Presto要么在使用速度的快的昂贵的商业方案,提高内存,要么是消耗大量的硬件进行快速查询。(128G 64G)本套课程教给如何在企业环境中使用Presto技术。
【课程简介】本课程是《Armv8/Armv9架构从入门到精通 第二期》中的第四章。建议购买大课程。本课程以为armv8-aarch64、armv9为基准,不涉及armv7及其以前的版本,也不涉及aarch32。本课程包含但不限于以下内容MMU的基础学习:啥是MMU?工作原理?MMU和cache之间的关系?及其怎样相互影响的?哪些是MMU硬件自动的行为?哪些是软件可配置的行为?地址空间基础:啥是虚拟地址空间?啥是物理地址空间?啥时memory-map? 代码程序中的虚拟地址空间是怎样的?arm core硬件决定的物理地址空间是怎样的?SOC memory-map时的地址空间是怎样的?具体的外设又是怎样的地址空间?Translation Regime:系统里有多少个MMU?系统里有多少个Translation Regime?他们之间的关系是怎样的?页表翻译:MMU是怎样翻译的?页表有几级?这些信息是怎么告诉MMU的,MMU又是怎样工作的,软件又需要怎样设计?stage1和stage2的区别和使用?Descriptor:啥是Descriptor、页表项、entry、条目、页表条目? Descriptor的格式是怎样的?每一个属性位是怎样的?MMU除了完成地址转换,属性权限的控制/cache的缓存策略是怎样配置的?optee中使用MMU的示例MMU深度思考篇:开启MMU瞬间可能出现的问题以及多种常用的解决方案。注意这里提到的是多种方案,绝大多数人只知道第一种,除此之外还有没有其它的设计方式? MMU关闭时cache的缓存策略会怎样?【思考】01、一个大系统中有多少个MMU ?02、一个ARM Core中有多少个Translation regime?03、EL1&0 Translation regime Stage2、EL2 Translation regime stage1、EL2&0 Translation regime stage1 这三者的区别是什么?04、TTBR1_EL2寄存器有啥特殊性,这个寄存器是给谁使用的?05、有没有TTBR1_EL3寄存器?为什么?06、什么是memory-map? 一个ARM的系统中,有几套物理地址空间?07、页表到底有几级? 页表最少可以有几级?页表最多可以有几级?08、页表有多大? 页表存放在哪里?页表由谁来管理?09、页表是否能放在cache中?10、什么是Translation Table walk? 什么是TLB?11、请简述页表查询的过程?12、在一个大系统中,物理地址是多少位的? 物理地址是多少位指的是什么?虚拟地址又是多少位的? 物理地址的位数和虚拟地址的位数都是由谁来决定的?13、请说明entry、descriptor、页表项、条目 这个四个词汇的由来?14、TCR中有缓存属性和共享属性、页表的entry中也有缓存属性和共享属性,这俩有什么区别?15、请简述TTBR0和TTBR1的概念和意义?16、请简述cacheability和shareability属性的含义?17、stage1和stage2有何区别?18、stage1和stage2的descriptor中,有很多重复的属性,当两者属性有冲突了怎么办?19、L1、L2、L2的descriptor中也有部分相同的属性,重复时怎么办?20、Descriptor的格式有哪几种?21、Descriptor的类型有哪几种?22、简述您所观察到的系统软件中(操作系统或hypervisor)的shareability和cacheability一般都是怎样配置的?23、开启一个MMU的步骤是怎样的?24、啥是flat map? 啥是full level table?25、页表中的AF属性位、DBM属性位分别是干啥的?26、页表中的nG属性位是干啥的?27、页表中的Contiguous属性位是干啥的?28、在开启MMU的瞬间会考虑哪些事情?【课程目录】当前21节课,6.8小时
老规矩,先看本节效果图我们实现这个支付功能完全是借助小程序云开发实现的,不用搭建自己的服务器,不用买域名,不用备案域名,不用支持https。只需要一个简单的云函数,就可以轻松的实现微信小程序支付功能。核心代码就下面这些一,创建一个云开发小程序关于如何创建云开发小程序,这里我就不再做具体讲解。不知道怎么创建云开发小程序的同学,可以去翻看我之前的文章,或者看下我录制的视频:https://edu.csdn.net/course/play/9604/204528创建云开发小程序有几点注意的1,一定不要忘记在app.js里初始化云开发环境。2,创建完云函数后,一定要记得上传二, 创建支付的云函数1,创建云函数pay三,引入三方依赖tenpay我们这里引入三方依赖的目的,是创建我们支付时需要的一些参数。我们安装依赖是使用里npm 而npm必须安装node,关于如何安装node,我这里不做讲解,百度一下,网上一大堆。1,首先右键pay,然后选择在终端中打开2,我们使用npm来安装这个依赖。在命令行里执行 npm i tenpay安装完成后,我们的pay云函数会多出一个package.json 文件到这里我们的tenpay依赖就安装好了。四,编写云函数pay完整代码如下//云开发实现支付 const cloud = require('wx-server-sdk')cloud.init() //1,引入支付的三方依赖 const tenpay = require('tenpay'); //2,配置支付信息 const config = ;exports.main = async(event, context) => 一定要注意把appid,mchid,partnerKey换成你自己的。到这里我们获取小程序支付所需参数的云函数代码就编写完成了。不要忘记上传这个云函数。出现下图就代表上传成功五,写一个简单的页面,用来提交订单,调用pay云函数。这个页面很简单,1,自己随便编写一个订单号(这个订单号要大于6位)2,自己随便填写一个订单价(单位是分)3,点击按钮,调用pay云函数。获取支付所需参数。下图是官方支付api所需要的一些必须参数。下图是我们调用pay云函数获取的参数,和上图所需要的是不是一样。六,调用wx.requestPayment实现支付下图是官方的示例代码这里不在做具体讲解了,完整的可以看视频。实现效果1,调起支付键盘2,支付完成3,log日志,可以看出不同支付状态的回调上图是支付成功的回调,我们可以在支付成功回调时,改变订单支付状态。下图是支付失败的回调,下图是支付完成的状态。到这里我们就轻松的实现了微信小程序的支付功能了。是不是很简单啊,完整的讲解可以看视频。

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧