0

私は次の表を持っています

    ID    p_name     p_value
   ----   ------     --------------
    1      name       index.htm
    1      path       c:\web\site1
    1      size       400
    1      date       2011-03-12
    1      note       'test site'
    2      name       login.htm
    2      path       c:\web\site1
    2      size       500
    ...    ...        ...
    ...    ...        ...

このようにする必要があります

    ID   Name         Path
   ---   ----------   -------------
    1     index.htm    c:\web\site1
    2     login.htm    c:\web\site1
    ...   ...          ...

私は他のいくつかの投稿を読んでいましたが、私の例にそれを適用する方法を理解できませんでした!主に「名前」と「パス」が必要です。必要に応じて他の名前を追加することもできます。

4

2 に答える 2

1

最も簡単な方法は、特定のIDに対して有限数のp_nameがあるように見えるため、ケースアウトすることです。

試行2-改訂

Select ID, T1.P_Name as Name, T2.P_value as Path
FROM YourTableName T1
INNER JOIN yourTableName T2 
  ON T1.ID = T2.ID 
  and T1.P_Name = 'name' 
  and T2.P_name = 'path'

試み1-失敗

SELECT Id,
CASE p_name when 'name' THEN P_value end as Name,
CASE p_name when 'path' THEN p_value end as Path
FROM yourTableNameHere
于 2012-05-15T06:38:37.983 に答える
1
select t1.id, t1.p_value name, t2.p_value path
  from mytable t1, mytable t2
 where t1.id = t2.id
   and t1.p_name = 'name'
   and t2.p_name = 'path'
于 2012-05-15T07:26:12.500 に答える