求一个 Select 语句的写法!

zjsheng 2006-05-17 04:09:37
表1
编号1 名称1
1 A
2 B
...
9 I
表2
编号2 表1.编号1 名称2
11 1 AA
12 1 AB
...
19 1 AI
21 2 BA
...
99 9 II
表3
编号3 表2.编号2 名称3
111 11 AAA
...
253 25 BEC
...
999 99 III
表4
自动编号4 编号3(可重复) 数量
1 111 1
2 111 1
3 253 1
4 111 1
5 999 1
6 253 1
7 111 1
8 999 1
9 253 1
10 999 1

现求一个语句实现如下结果:

名称1 名称2 名称3 数量
A AA AAA 4
B BE BEC 3
I II III 3

注: 真正的 [名称] 和 [编号] 是没有规律的 这里是为了更好的表示级别关系

这样的语句该怎么写呢?

哪位大哥知道的教一下 谢谢!

...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjsheng 2006-05-17
  • 打赏
  • 举报
回复

总算知道原因了 原来有个关联字段没添上

郁闷 ~~~

谢谢各位解答 ^_^

zjsheng 2006-05-17
  • 打赏
  • 举报
回复

SQL企业管理器 跟 查询分析器里 都正确的代码

直接拷到程序里 不至于字段对不上吧~
paoluo 2006-05-17
  • 打赏
  • 举报
回复
檢查對應的字段名有沒有寫錯??
zjsheng 2006-05-17
  • 打赏
  • 举报
回复

按方法试了一下 在SQL企业管理器里出正常结果

但是在DELPHI程序里执行同样的代码却出现这个提示:

[在对应所需名称或序数的集合中,未找到项目。]

0_0 啥 意思啊

godfather_wang 2006-05-17
  • 打赏
  • 举报
回复
select *
from 表1 a,表2 b,表3 c,(select 编号3,sum(数量) as 数量 from 表4 group by 编号3) d
where a.编号1=b.编号1
and b.编号2=c.编号2
and c.编号3=d.编号3
冷箫轻笛 2006-05-17
  • 打赏
  • 举报
回复
select 名称1,名称2,名称3,sum(数量)
from 表1,表2,表3,表4
where 表1.编号1 = 表2.编号1 and 表2.编号2 = 表3.编号2 and 表3.编号3 = 表4.编号3
group by 名称1,名称2,名称3
子陌红尘 2006-05-17
  • 打赏
  • 举报
回复
declare @t1 table(ID1 int,CODE1 varchar(4))
insert into @t1 select 1,'A'
insert into @t1 select 2,'B'
insert into @t1 select 9,'I'
declare @t2 table(ID2 int,ID1 int,CODE2 varchar(4))
insert into @t2 select 11,1,'AA'
insert into @t2 select 12,1,'AB'
insert into @t2 select 19,1,'AI'
insert into @t2 select 25,2,'BE'
insert into @t2 select 99,9,'II'
declare @t3 table(ID3 int,ID2 int,CODE3 varchar(4))
insert into @t3 select 111,11,'AAA'
insert into @t3 select 253,25,'BEC'
insert into @t3 select 999,99,'III'
declare @t4 table(ID4 int,ID3 int,NUM int)
insert into @t4 select 1 ,111,1
insert into @t4 select 2 ,111,1
insert into @t4 select 3 ,253,1
insert into @t4 select 4 ,111,1
insert into @t4 select 5 ,999,1
insert into @t4 select 6 ,253,1
insert into @t4 select 7 ,111,1
insert into @t4 select 8 ,999,1
insert into @t4 select 9 ,253,1
insert into @t4 select 10,999,1


select
a.CODE1,b.CODE2,c.CODE3,SUM(d.NUM) 数量
from
@t1 a,@t2 b,@t3 c,@t4 d
where
a.ID1=b.ID1 and b.ID2=c.ID2 and c.ID3=d.ID3
group by
a.CODE1,b.CODE2,c.CODE3

/*
----- ----- ----- -----------
A AA AAA 4
B BE BEC 3
I II III 3
*/

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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