一个很精彩的SQL语句,不能不看

jacky_explorer 2002-06-24 07:22:20
1 ....
2 str="select * from table1.税号=table2.税号 where 1=1"
...
3 select case index
case 0
str=str & "and 条件1"
case 1
str=str & " and 条件2"
end select
...
4 str=str & " and 查出表table1中同一税号办税员编号(bsno)最大的一条"
(这个记录集包含了一个税号可能有几个办税员的情况,我要求取办税员编号(bsno)最大的一条!)
举一个例:
表1为:
税号 ... 办税员编号(bsno) 办税员
税号一 001 王
税号一 002 张
税号二 003 静
税号二 004 非
税号三 005 潭
...

表2为:(税号为主键)
税号 ... 名称 地址
税号一 公司一 地址一
税号二 公司二 地址二
税号三 公司三 地址三
...

你们帮我改了这个SQL的结果后应是
公司名 ... 办税员编号(bsno) 办税员 名称 ...
公司一 002 张 公司一
公司二 004 非 公司二
公司三 005 潭 公司三
...
明白了吗?我很急呀!
...全文
47 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
playyuer 2002-06-25
  • 打赏
  • 举报
回复
我的写法当然会有重复记录,是因为你的表1不规范无主健!

我的SQL 打开的 Recordset 不是只读的!

liucai(流才) 是只读的!
solew 2002-06-25
  • 打赏
  • 举报
回复
笔误:
select a.税号,办税员编号,办税员名称,公司,地址
from table1 as a,table2 as b
where 办税员编号 in (select max(办税员编号)) from table1 group by 税号) and table1.税号=table2.税号
solew 2002-06-25
  • 打赏
  • 举报
回复
select a.税号,办税员编号,办税员名称,公司,地址
from table1 as a,table2 as b
where 办税员编号 in (select max(办税员编号)) from table1 group by ) and table1.税号=table2.税号
playyuer 2002-06-25
  • 打赏
  • 举报
回复
我的写法当然会有重复记录,你是因为你的表1不规范!

我的SQL 打开的 Recordset 不是只读的!

liucai(流才) 是只读的!

  • 打赏
  • 举报
回复
SELECT 表2.公司名,表1.编号,表1.办税员
FROM 表1,
表2,
(SELECT 税号, MAX(办税员编号) a
FROM 表1
GROUP BY T1.税号 ) T1
WHERE 表1.办税员编号=T1.a
AND 表1.税号=T1.税号
AND 表1.税号=表2.税号
liucai 2002-06-25
  • 打赏
  • 举报
回复
select table2.名称,max(table1.bsno),table1.办税员 from table2 left join table1 on table1.税号=table2.税号 group by table2.名称,table1.办税员
================================================================

CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!

★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。

★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。

Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]

jacky_explorer 2002-06-24
  • 打赏
  • 举报
回复
有没有比playyuer(小干部)更厉害的?
jacky_explorer 2002-06-24
  • 打赏
  • 举报
回复
TO: playyuer(小干部): 办税员编号会出现重复的情况!!!!!!!
jacky_explorer 2002-06-24
  • 打赏
  • 举报
回复
有没有搞错,我试过很多次了!结果如下:
'字查询最多只能返回一个记录',最好你们去试一下!
如果把楼上的"="改成IN 的话,就更不对,因为它会出现如下
税号 ... 办税员编号(bsno) 办税员 公司 ...
税号一 007 张 公司一
税号一 005 张 公司一
税号二 004 非 公司二
税号三 005 潭 公司三
因为办税员编号会出现重复的情况!比方说子查询SELECT MAX(办税员编号)
FROM 表1 AS T1
WHERE 表1.税号 = T1.税号
GROUP BY T1.税号
能查出税号一的最大办税员编号为007,而税号三的最大办税员编号是005,这即是说,办税员编号为005,007都能入选子查询,这样一来,税号一就出现了两个记录,但我只希望有一条!!!!!!
progame 2002-06-24
  • 打赏
  • 举报
回复
playyuer好
playyuer 2002-06-24
  • 打赏
  • 举报
回复
典型的相关子查询
playyuer 2002-06-24
  • 打赏
  • 举报
回复
SELECT *
FROM 表1
WHERE 表1.办税员编号 =(SELECT MAX(办税员编号)
FROM 表1 AS T1
WHERE 表1.税号 = T1.税号
GROUP BY T1.税号 )
progame 2002-06-24
  • 打赏
  • 举报
回复
税号连接

max(办税员)
iamsilly 2002-06-24
  • 打赏
  • 举报
回复
呵呵,我也想知道
jacky_explorer 2002-06-24
  • 打赏
  • 举报
回复
难道没有人能搞定?
jacky_explorer 2002-06-24
  • 打赏
  • 举报
回复
TO:hms(追梦),你的答案肯定有不符合条件
hms 2002-06-24
  • 打赏
  • 举报
回复
str="select * from table1,table2 where table1.税号=table2.税号 and 1=1"

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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