Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Microsoft SQL Server 2005のデータベースからCSVへ出力したいのですが・・

56 views
Skip to first unread message

teckn2000

unread,
Jun 4, 2009, 11:16:01 AM6/4/09
to
「テーブル1」の「英語」に対応する「数字」を、
「テーブル2」の情報とあわせて「CSV出力」の結果としたいのですが、
どのようなSQL文で出力させると良いでしょうか。


テーブル1
-----------------------------
一意な番号  英語  数字
-----------------------------
**********  A    123
**********  B    56
**********  C    789
**********  D    987
**********  A    654
**********  B    321
-----------------------------

テーブル2
------------------
一意な番号  漢字
------------------
**********  犬 
**********  猫 
**********  猿 
**********  雉 
**********  馬 
**********  鳥 
------------------


CSV出力
-----------------------------------------
一意な番号  漢字  A  B  C  D  
-----------------------------------------
**********  犬   123
**********  猫      56
**********  猿        789
**********  雉           987
**********  馬   654
**********  鳥      321
-----------------------------------------

冨田 貴士

unread,
Jun 11, 2009, 7:40:59 AM6/11/09
to
CSV出力は別としてSQLでの抽出は下記でなんとか

SELECT T2.[一意な番号], T2.[漢字], T1.A, T1.B, T1.C, T1.D
FROM
(
SELECT TOP 100 PERCENT
(SELECT COUNT(*)+1 FROM [テーブル2]
WHERE [テーブル2].[一意な番号] < T.[一意な番号]) AS [行番号],
T.[一意な番号],
T.[漢字]
FROM [テーブル2] T
ORDER BY T.[一意な番号]
) T2,
(
SELECT TOP 100 PERCENT
(SELECT COUNT(*)+1 FROM [テーブル1]
WHERE [テーブル1].[一意な番号] < T.[一意な番号]) AS [行番号],
CASE T.[英語] WHEN 'A' THEN T.[数字] ELSE NULL END AS A,
CASE T.[英語] WHEN 'B' THEN T.[数字] ELSE NULL END AS B,
CASE T.[英語] WHEN 'C' THEN T.[数字] ELSE NULL END AS C,
CASE T.[英語] WHEN 'D' THEN T.[数字] ELSE NULL END AS D
FROM [テーブル1] T
ORDER BY T.[一意な番号]
) T1
WHERE T2.[行番号] = T1.[行番号]
ORDER BY T2.[一意な番号];


"teckn2000" <????@discussions.microsoft.com> wrote in message
news:F0C7B532-2026-4D9B...@microsoft.com...

0 new messages