- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:1つのテーブルからのデータ取得)
1つのテーブルからのデータ取得方法について
このQ&Aのポイント
- 1つのテーブルからのデータ取得方法を解説します。
- Table1のAフィールドの値を指定し、それに一致するBとの関連データを取得します。
- SQL文を使用して、指定したAの値に一致するレコードのBの値を取得することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SQLServerは全くの専門外なのですが.... SQLServer 2005のTransact-SQLで追加されたCTEというものを使うと、再帰呼び出しを実装できるようです。 http://www.microsoft.com/japan/msdn/sqlserver/dnsql90/sql_YukonTSQLEnhance.asp#sql_yukontsqlenhance_topic2a http://mgw.hatena.ne.jp/?http://www.microsoft.com/japan/msdn/sqlserver/sql2005/sql_05TSQLEnhance.asp もしかしたら、以下のようなクエリにすれば動作するのかもしれません。 WITH testCTE(A, B, lvl) AS ( -- Anchor Member (AM) SELECT A, B, 0 FROM Table1 WHERE A = '01' UNION ALL -- Recursive Member (RM) SELECT T.A, T.B, M.lvl+1 FROM Table1 AS T JOIN testCTE AS M ON T.B = M.A ) SELECT * FROM testCTE パフォーマンスは悪いかもしれません。
お礼
分かりにくい質問にもかかわらず、 丁寧な御回答本当にどうもありがとうございました。 共通テーブル表現というのがあるのですね。 参考になりました。 しかし、現状SQL SERVER2000という環境で この便利な機能がつかえません。 しかしながらCTEをキーワードに 上記の問題がやはり一時テーブルを使用するなど しないと2000だと難しいということが 分かり、それだけでも大変助かりました。 ほんとうにどうもありがとうございました。