有关"QUERY"二次查询(100分)

  • 主题发起人 主题发起人 细文
  • 开始时间 开始时间

细文

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么样能达到以下查询.
1.select DISTINCT 名称 FROM 科目表 //假设查询表为"KK"
2.select 名称 FROM KK WHERE 名称 LIKE "陈%"

先查询1,再以1的基础上再查询数据.
 
select mc from (select distinct mc from kmb) as kk where mc like "c%"
在access里面就可以试一下
 
有个坏办法:)
(1) 先查询1,
(2) 再以1的基础上, 采用过滤!!!
 
ls2000的方法就行了。自己可以随意控制。
其实就是一个查询嵌套。[:D]
 
ls2000,我试过,但显示错误框:
invalid use of keyword
token:select
line number:1
 
我觉得你的思路好像应该可以简单些. 这样不可以么
select DISTINCT 名称 FROM 科目表 WHERE 名称 LIKE "陈%"

 
select mc from kk where (mc in( select DISTINCT 名称 FROM 科目表 )) and
(mc LIKE "陈%")

 
小虫飞鱼,显示错误框:文件不存在.
 
标准的子查询啦,
select 名称 FROM(lect DISTINCT 名称 FROM 科目表) WHERE 名称 LIKE "陈%"
 
aizb:显示错误框:
invalid use of keyword
token:DISTINCT
line number:1

能否用二个"QUERY"分别查询?
 
select mc from kk where mc in( select DISTINCT 名称 FROM 科目表 ) and
mc LIKE "陈%"
 
select aa.名称 FROM(select DISTINCT 名称 FROM 科目表) aa WHERE aa.名称 LIKE "陈%"
 
这样选出来的只有名称一个字段,可以这样(子查询):
select * from (select * from 科目表 where 名称 in(select distinct 名称
from 科目表 )) aa where aa.名称 like '陈%'
注:这是ORACLE的语法
 
应该不是ORACLE专用的语法吧,MSSQLSERVER中也可以呀
 
后退
顶部