| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2250 人关注过本帖
标题:不支持这种语法么?
只看楼主 加入收藏
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
结帖率:33.33%
收藏
 问题点数:0 回复次数:27 
不支持这种语法么?
select * from aa where aa.num in (select num from bb union select num1 from cc )

可是总提示:“子查询不能用Union”,难道不支持这种语法?有什么方法可以替代?

我需要把两个查询的结果形成一个数据,然后再对此结果进行查询。

能否实现这样的:
aa.id    kk.num  kk.date

select aa.id, kk.num,kk.date from aa where aa.num in (select num,date from bb union select num1,date1 from cc ) kk
搜索更多相关主题的帖子: 语法 
2007-12-04 16:52
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
declare @a table(num int)
insert @a select 1
union all select 2
union all select 3

declare @b table(num int)
insert @a select 4
union all select 5
union all select 6

declare @c table(id int)
insert @c select 2
union all select 6

select * from @c where id in(select num from @a union select num from @b)

/*
id         
-----------
2
6

(所影响的行数为 2 行)
*/

我的msn: myfend@
2007-12-04 17:21
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
斑竹:请问一下
能否实现这样的:
aa.id    kk.num  kk.date

select aa.id, kk.num,kk.date from aa where aa.num in (select num,date from bb union select num1,date1 from cc ) kk

2007-12-04 22:15
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
也就是说我想得到:

num,date    <---------------(select num,date from bb union select num1,date1 from cc ) kk

同时 aa.id in 上面的 kk.num中

最后得到列表:
aa.id ,kk.num,kk.date

2007-12-04 22:19
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
因为 in 只能跟 num,而不能再加上date 了

2007-12-04 22:21
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
AA表字段如下:
id      fyje    tdbh
1     100     abc
2     200    efg
3      300   hij

BB表字段如下:
id      bh         date
1      0001     2007
1     0001      2007
3    0003       2006
2    0002       2005
2   0002        2005

我想实现:
id      fyje   tdbh    bh        date
1      100    abc   0001  2007
2       200    efg    0002   2005
3       300    hij     0003    2006

2007-12-04 22:56
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
select distinct * from bb inner join aa on bb.id =aa.id
sql语句测试通过,但是在字段的数据类型上还是掌握的不好,请楼下指教如何设置数据类型。
2007-12-05 05:07
XieLi
Rank: 1
等 级:新手上路
威 望:1
帖 子:762
专家分:0
注 册:2007-7-24
收藏
得分:0 
不知道是不是要这种结果!
DECLARE @T TABLE(ID INT ,FYJE INT ,TDBH  VARCHAR(10))
DECLARE @A TABLE(ID INT ,BH VARCHAR(10),DATE1 VARCHAR(10))

INSERT INTO @T SELECT 1,100,'abc'
UNION SELECT 2, 200,'efg'
UNION SELECT 3,300,'hij'

INSERT INTO @A SELECT 1,'0001','2007'
UNION SELECT 1,'0001','2007'
UNION SELECT 3, '0003','2006'
UNION SELECT 2,'0002','2005'
UNION SELECT 2,'0002','2005'


SELECT A.ID,A.FYJE,A.TDBH,B.BH,B.DATE1 FROM @T A,(SELECT DISTINCT ID,BH,DATE1 FROM @A) B WHERE A.ID=B.ID

拥有蓝天的白云,拥有你的我.
2007-12-05 08:39
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
同意楼上..
很简单的题目.

我的msn: myfend@
2007-12-05 09:51
ldcr
Rank: 1
来 自:北京
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-4-24
收藏
得分:0 
学习了

我是个很笨的人,希望能在这里和大家一起交流、一起进步!
2007-12-05 09:56
快速回复:不支持这种语法么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012662 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved