1

以下のような 2 つのストアド プロシージャがあります。

Select distinct TempName from History_Table 

Select TempName,RunDate from History_Table  where TempName=@tempname

tempname単一のストアド プロシージャを使用して、個別の および関連する の結果セットを取得するにはどうすればよいRunDateですか?

  TempName     RunDate                       RunBy

1   test    2012-10-11 00:00:00.000 chandu
2   testing 2012-12-15 00:00:00.000 kumar
3   asdsad  2012-08-09 00:00:00.000 asdsad
4   test    2012-12-12 00:00:00.000 asdasds
15  test    2012-10-01 00:00:00.000 asdaddf
15  test    2012-09-12 00:00:00.000 bghgh

I have to display like

TempName   RunDate                   RunBy
test       dates(in a dropdown)      lastrun name(i.e asdasds)
4

2 に答える 2

1

コメントから (SQL Server 2005 + CTE )のようなものを試すことができます

;WITH UNames AS (
        Select  distinct 
                TempName 
        from    History_Table 
)
Select  ht.TempName,
        ht.RunDate 
from    History_Table  ht INNER JOIN
        UNames u    ON  ht.TempName = u.TempName
于 2012-10-30T04:32:58.907 に答える
0

SQL からの結果セットは、単純な表形式に従う必要があります。1 つの行があり、そのうちの 1 つの列に複数の値が含まれている場合、結果を取得する簡単な方法はありません (いくつかの醜いハックがあります。ここでは説明しません)。

私に関する限り、これを行う最もクリーンな方法は、次のクエリを実行することです。

Select TempName,RunDate,RunBy from History_Table ORDER BY TempName,RunDate

次に、このテーブルの結果を消費するものは何でも、最後に処理した値を追跡する必要がありTempNameます。現在の行に同じ 値がある場合は、既存のドロップダウンにTempName追加する必要があります。RunDateそれ以外の場合は、新しい行をTempName作成し、正確に 1 つの値を持つドロップダウンを作成する必要がありRunDateます。

于 2012-10-30T07:34:35.800 に答える