设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
一个非常难得sql问题,除了union还有其他的什么办法? ...
返回列表
发新帖
一个非常难得sql问题,除了union还有其他的什么办法?
[复制链接]
11
|
7
|
2011-2-18 11:43:34
|
显示全部楼层
|
阅读模式
一个比较复杂的查询,类似
select * from a where a.sid in (复杂查询b)
问题出现这个这个地方,这个复杂查询b会返回10个子段,所以select * from a where a.sid in (复杂查询b)是无法执行的
现在有一个解决方案,就是把 复杂查询b用9个union来实现,这样的话,10个子段就成了一个字段,这样的话,系统可以跑,但是慢的不行,
能否有其他的方法
回复
使用道具
举报
千问
|
2011-2-18 11:43:34
|
显示全部楼层
2个问题
1、复杂查询再复杂,难道不能只取一个字段?你这个东西是放到in里的,取那么多字段有什么用
2、就算必须要取复杂查询里的10个字段,那把in改成连接查询呗,这有什么难的~~~
回复
使用道具
举报
千问
|
2011-2-18 11:43:34
|
显示全部楼层
类似的写下,发来看看,未必解决不了
回复
使用道具
举报
千问
|
2011-2-18 11:43:34
|
显示全部楼层
又在这里发了?
回复
使用道具
举报
千问
|
2011-2-18 11:43:34
|
显示全部楼层
原帖由
junsansi
于 2008-7-28 17:32 发表
2个问题
1、复杂查询再复杂,难道不能只取一个字段?你这个东西是放到in里的,取那么多字段有什么用
2、就算必须要取复杂查询里的10个字段,那把in改成连接查询呗,这有什么难的~~~
这个连接查询如何写?
第一次听说这个东西,给个例子如何?
回复
使用道具
举报
千问
|
2011-2-18 11:43:34
|
显示全部楼层
原帖由
kkngisn
于 2008-7-28 17:49 发表
这个连接查询如何写?
第一次听说这个东西,给个例子如何?
你的句子呢
回复
使用道具
举报
千问
|
2011-2-18 11:43:34
|
显示全部楼层
把你那个复杂子查询b贴出了就知道怎么做了~
回复
使用道具
举报
千问
|
2011-2-18 11:43:34
|
显示全部楼层
select * from a
where exists (select 1
from (select r1,r2,r3,...r10
from ...
) b-- 复杂查询b
where a.sid = b.r1 or a.sid = b.r2 or a.sid = b.r3 ... or a.sid = b.r10
)
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行