关于网站管理员权限的问题(详细请点击):
我想在网站后太弄个和WINDOWS样的权限,不会做了,来人帮我!
我弄了有三个表
-------------------------------------------------------
一个用户表 USER
IDusernamepwd BelongTo
1Administrator123456 Administrators
2lyh123 guest
BelongTo 表示的是那个组
-------------------------------------------------------
一个权限组 Lpset
IDL_name Lp_SetLegalPower
1Administrators add,del
2guset add
Lp_SetLegalPower 表示具有的操作权限 add添加 del删除 等...
-------------------------------------------------------
一个详细权限的介绍 LegalPower
IDElucidation
add添加信息...
del删除信息....
问题:我想查询administrator就得到:
add添加信息...
del删除信息....
这样的结果。
查询 lyh就得到:
add添加信息...
不晓得说清楚没!主要是我不会写这些SQL语句 和 Lpset表上有用“,”分开的参数。
看明白题目的人帮我啊`` 实在不晓得怎么做了!
[解决办法]
你看看split
[解决办法]
写一函数转换
示例
CREATE TABLE testColConvertRow
(IdCol varchar(10),StrCol varchar(800))
GO
INSERT INTO testColConvertRow
SELECT 'A ', '10;15;17;18;45;89;25;36;8799;566;666;988 '
UNION ALL
SELECT 'B ', '10;15;17;18;45;89;25;36;8799;566;666;988 '
UNION ALL
SELECT 'C ', '10;15;17;18;45;89;25;36;8799;566;666;988 '
go
CREATE PROCEDURE dbo.ColConvertRow
AS
DECLARE @sql varchar(8000)
DECLARE @col1 varchar(100)
DECLARE @col2 varchar(3000)
declare @tb table(a varchar(10),b varchar(800))
CREATE TABLE #re (col1 varchar(10),col2 varchar(30))
SET NOCOUNT ON
insert into @tb select IdCol,strCol from testColConvertRow
DECLARE c_cur cursor FAST_FORWARD
FOR SELECT a,b FROM @tb
OPEN c_cur
FETCH NEXT FROM c_cur INTO @col1,@col2
WHILE @@FETCH_STATUS=0
BEGIN
SET @sql= 'INSERT INTO #re(col1,col2) '
SET @sql=@sql+ 'SELECT ' ' '+@col1+ ' ' ', ' ' '+REPLACE(@col2, '; ', ' ' 'UNION ALL SELECT ' ' '+@col1+ ' ' ' AS Col1, ' ' ')+ ' ' ' '
EXEC(@SQL)
FETCH NEXT FROM c_cur INTO @col1,@col2
END
CLOSE c_cur
DEALLOCATE c_cur
SELECT * FROM #RE
SET NOCOUNT OFF
GO
[解决办法]
?