0

この手順を使用してGUID、テーブルを読み取るときに数値を作成しています。

ストアドプロシージャは正しく機能しますが、表示される列は2つだけidですEventId

dbo.ASFC_App_Timetableとを超えて他のすべての列を表示する必要がありidますEventId

他の列はEventTitleEventNoteたとえばです。

この問題を解決するためのコードのサンプルを提供できますか?

 CREATE PROCEDURE SPROCGetAllEventsForStudent
    AS
    BEGIN
        SELECT convert(uniqueidentifier,
               stuff('62799568-6EF2-4C95-84E7-4953A6959C99',1,len(rn),convert(varchar,rn))) id,
               T.EventId
        FROM ( 
          select x.EventId,  ROW_NUMBER() over (order by x.EventId) rn
          FROM dbo.ASFC_App_Timetable as x ) T
    END

現時点では表示です。他の列も表示する必要があります。

22799568-6EF2-4C95-84E7-4953A6959C99    AB-TT-E1-2/TU12
32799568-6EF2-4C95-84E7-4953A6959C99    PU-A2-2 -Z/CL12
42799568-6EF2-4C95-84E7-4953A6959C99    PU-A2-2 -Z/CL12
52799568-6EF2-4C95-84E7-4953A6959C99    PU-A2-2 -Z/CL12
62799568-6EF2-4C95-84E7-4953A6959C99    PU-A2-2 -Z/CL12
72799568-6EF2-4C95-84E7-4953A6959C99    PU-A2-2 -Z/CL12
82799568-6EF2-4C95-84E7-4953A6959C99    PU-A2-2 -Z/CL12
4

2 に答える 2

2

サブクエリに他の列を追加できないのはなぜですか?

SELECT convert(uniqueidentifier,
       stuff('62799568-6EF2-4C95-84E7-4953A6959C99',1,len(rn),convert(varchar,rn))) id,
       T.EventId, 
       T.EventTitle , 
       T.EventNote
FROM 
    ( 
        select  x.EventId, 
                x.EventTitle , 
                x.EventNote, 
                ROW_NUMBER() over (order by x.EventId) rn
        FROM    dbo.ASFC_App_Timetable as x 
    ) T
于 2013-01-26T09:22:35.110 に答える
1

これはうまくいくと思います。

SELECT EventTitle,
       EventNote,
       convert(uniqueidentifier,
       stuff('62799568-6EF2-4C95-84E7-4953A6959C99',1,len(rn),convert(varchar,rn))) id,
       T.EventId
FROM ( 
         select x.EventId,
              EventTitle,
              EventNote,
              ROW_NUMBER() over (order by x.EventId) rn
         FROM dbo.ASFC_App_Timetable as x
     ) T

なぜNEWID()生成に使用しないのGUIDですか?

SELECT NEWID() Id
      EventId,
      EventTitle,
      EventNote
 FROM dbo.ASFC_App_Timetabl
于 2013-01-26T09:22:42.893 に答える