1

SQL Serverでは、テーブルに1つの列があり、もう1つのテーブル[新しいテーブル]に2つの列の列を作成したいと思います。手伝って頂けますか。

------------------------
  Type
  ------------------------
  UserDefine

  UserDefine

  AutoGenerate

  AutoGenerate

  UserDefine
 -------------------------

上記は私のテーブルの1つにある私の列です。今、別のテーブルにUserDefineとAutogenerate列のように2つの列を作成したいと思います。

  -----------------------------------
   UserDefine        | AutoGener      |
  ------------------------------------|
  UserDefine         |   AutoGenerate | 
                     |                |
  UserDefine         |   AutoGenerate |
 ---------------------------------------

上記のように、私があなたに感謝するのを手伝ってください。

4

2 に答える 2

0

Try this:

;WITH CTE
AS
(
  SELECT *, ROW_NUMBER() OVER(PARTITION BY [Type] ORDER BY [Type]) rownum
  FROM Table1
)
SELECT 
  MAX(CASE WHEN [Type] = 'AutoGenerate' THEN [Type] END) AS 'AutoGenerate',
  MAX(CASE WHEN [Type] = 'UserDefine' THEN [Type] END) AS 'UserDefine'
FROM CTE
WHERE Rownum <= 2
GROUP BY Rownum;

SQL Fiddle Demo

于 2012-11-22T07:38:37.000 に答える
0

2つの挿入を使用します。1つは「UserDefine」値用で、もう1つは「AutoGenerate」用です。

INSERT INTO NewTable (UserDefine) SELECT Type FROM OldTable WHERE Type = "UserDefine"

INSERT INTO NewTable (UserDefine) SELECT Type FROM OldTable WHERE Type = "AutoGenerate"

where句を適切な条件に変更して、2つのタイプを区別します。

于 2012-11-22T07:31:41.373 に答える