と呼ばれる私の列City
には、同じ都市を持つ 10 行以上があり、各行には同じ都市名が表示されます。私が欲しいのはORDER BY CITY
、その都市を持つ最初の行の都市名を取得し、次の行に表示CITY="-"
またはNULL
値を表示して、詳細が同じ都市のものであることを示す必要があります。
試み: この問題を解決するために、私は何週間にもわたって多くのことを試みました。
これを使用しましたが、出力の順序は
ZONES(citynames)
. ただし、都市名が重複して表示されている行を選択することはできません。WITH T1 AS (SELECT * FROM (SELECT *, ROW_NUMBER() OVER (PARTITION BY ZONE ORDER BY Date ASC) AS ROWID FROM Try2)T WHERE T.ROWID > 1) UPDATE T1 SET ZONE='NULL'
使い方のアドバイスを頂きました
PIVOT
。しかし、研究があまり得られなかった後、そのような問題ではなく、行を列と交換するために与えられたピボットの例。重複する行を削除するオンラインの例は多数ありますが、繰り返し値を他の値に置き換える例はほとんどありません (こちら
--
)。一時テーブルも使用しようとしましたが、構文エラーが原因で、まだ作業中です。
21 の異なる都市があるため、それらすべての重複を見つけて、他の行の詳細を変更せずにそれぞれの都市名を置き換える必要があります。初心者なので、これを実装する方法がわかりません。誰かが私を助けたり、参考文献を教えてくれませんか?