Create Table #TB
(
FG_NO NVARCHAR(20)
,Part_No NVARCHAR(20)
)
INSERT INTO #TB
SELECT 'FG1','P1' Union All
SELECT 'FG2','P1' Union All
SELECT 'FG3','P1' Union All
SELECT 'FG4','P2' Union All
SELECT 'FG5','P2' Union All
SELECT 'FG6','P2'
--Or
INSERT INTO #TB(FG_NO,Part_No) Values('FG1','P1'),('FG2','P1'),('FG3','P1'),('FG4','P2'),('FG5','P2'),('FG6','P2');
--记得以前使用ACCESS的时候是FG_NO +FG_NO就能合并到一行
SELECT Part_No,FG_NO
FROM (SELECT DISTINCT Part_No FROM #TB) A OUTER APPLY(
SELECT FG_NO= STUFF(REPLACE(REPLACE(
(
SELECT FG_NO FROM #TB N
WHERE Part_No = A.Part_No
FOR XML AUTO
), '<N FG_NO="', ','), '"/>', ''), 1, 1, '')
)N
--结果
--Part_No FG_NO
--P1 FG1,FG2,FG3
--P2 FG4,FG5,FG6
posted @ 2010-07-18 10:06 Shannon 阅读(65) 评论(0)
编辑
Create Procedure up_test1 as
Select '1111' --这里没有问题
go
Create Procedure up_test2 AS
create table #tt (a Varchar(4))
insert into #tt Exec up_test1
go
Create Procedure up_test3 as
Create Table #ttt (b varchar(4))
Insert Into #ttt Exec up_test2
go
exec up_test3 --这个执行就不能通过。
--
-- Create Procedure up_test1 as
-- Select '1111' --这里没有问题
--go
Alter Procedure up_test2 AS
create table #tt (a Varchar(4))
Declare @strsql nvarchar(2000)
set @strsql='insert into #tt'
Exec up_test1
go
--Create Procedure up_test3 as
-- Create Table #ttt (b varchar(4))
-- Insert Into #ttt Exec up_test2
--go
exec up_test3 --这个执行就能通过。
posted @ 2010-07-18 09:38 Shannon 阅读(578) 评论(1)
编辑