select * from id where id like 'A01'
解决方案 »
- 如何设置命令,删除过时的差异备份数据(只保留最近3次的差异备份数据与第一次的完全备份数据)?
- 为什么我的SQL Server 2000的查询分析器中的系统提供的数据库,与企业管理器中的不同
- 关于跨库建立全文检索目录问题
- 如何还原数据库
- 请问怎样得出MS SQL语句执行的时间?
- 怎样用BUILTIN\Administrator登陆服务器,创建一个登陆用户!!
- 求一SQL语句的简单问题,不但少人来,给的答案也不对,再加100分,希望真高手和负责的人来看看,谢谢
- 这个SQL要怎么写?
- 急:问高手一个SQL语句,在线等候,解决后即结贴
- 我做的是一个定时程序(定时进行查询/修改/新增等操作),数据库使用MS SQL Server2000,
- 如何根据日期从另一个表取数UPDATE到本表(非精确日期匹配)?
- 检索速度问题
少了%
从 A01 A1 这条记录可以看出来。
samfeng_2003(风云)兄的方法好像行不通哦。
--测试数据
CREATE TABLE tb(ID char(3),PID char(3),Name nvarchar(10))
INSERT tb SELECT '001',NULL ,'山东省'
UNION ALL SELECT '002','001','烟台市'
UNION ALL SELECT '004','002','招远市'
UNION ALL SELECT '003','001','青岛市'
UNION ALL SELECT '005',NULL ,'四会市'
UNION ALL SELECT '006','005','清远市'
UNION ALL SELECT '007','006','小分市'
GO--查询指定节点及其所有子节点的函数
CREATE FUNCTION f_Cid(@ID char(3))
RETURNS @t_Level TABLE(ID char(3),Level int)
AS
BEGIN
DECLARE @Level int
SET @Level=1
INSERT @t_Level SELECT @ID,@Level
WHILE @@ROWCOUNT>0
BEGIN
SET @Level=@Level+1
INSERT @t_Level SELECT a.ID,@Level
FROM tb a,@t_Level b
WHERE a.PID=b.ID
AND b.Level=@Level-1
END
RETURN
END
GO--调用函数查询002及其所有子节点
SELECT a.*
FROM tb a,f_Cid('002') b
WHERE a.ID=b.ID
/*--结果
ID PID Name
------ ------- ----------
002 001 烟台市
004 002 招远市
--*/