SQL怎么查询以下内容
SQL如何查询以下内容?现有一数据表table1,里面有两个字段“姓名,岗位”,其中内容是:HTML codetabletrtd
SQL如何查询以下内容?
现有一数据表table1,里面有两个字段“姓名,岗位”,其中内容是:
HTML code<table><tr><td>姓名</td><td>岗位</td></tr><tr><td>王老一</td><td>大队长</td></tr><tr><td>王大一</td><td>小队长</td></tr><tr><td>王小一</td><td>组长</td></tr><tr><td>王一</td><td>队员</td></tr></table>
我想写一条SQL,作用是当姓名为“王老一”的时候,他能查找到岗位为“大队长,小队长,组长,队员”等所有的人员姓名,如果姓名是“王小一”的时候,只能查找到“组长,队员”的姓名,那我该如何编写这条SQL呢?谢谢!
[解决办法]其实 这是需要2个表 来实现 的 第一 个表
岗位 上下级关系表
岗位名称 上级岗位名
第2个表 是你给的表 才能实现你要的查询 用递归。
[解决办法]首先,将你的表扩充 3 个字段:
姓名,岗位,所属大队,所属小队,所属组
Set rs = cn.Execute("SELECT * FROM table1 WHERE 姓名=" & strName & "'")
Select Case rs!岗位
Case "大队长"
Set rs = cn.Execute("SELECT * FROM table1 WHERE 所属大队=" & rs!所属大队 & "'")
Case "小队长"
Set rs = cn.Execute("SELECT * FROM table1 WHERE 所属小队=" & rs!所属小队 & "'")
Case "组长"
Set rs = cn.Execute("SELECT * FROM table1 WHERE 所属组=" & rs!所属组 & "'")
End Select
[解决办法]这种处理 我喜欢用 mssql 的function
create function [dbo].[f_get_sys_ht_type_fname](@id int)
returns varchar(8000)
as
begin
--返回某一id的全部类型名
declare @re varchar(8000),@pid int
--得到编码累计
select @pid=sys_ht_type_fid,@re=sys_ht_type_name from sys_ht_type where sys_ht_type_id=@id
while @@rowcount>0
select @re=sys_ht_type_name+'-'+@re
,@pid=sys_ht_type_fid from sys_ht_type where sys_ht_type_id=@pid
return(@re)
end