• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:1つのテーブルからのデータ取得)

1つのテーブルからのデータ取得方法について

このQ&Aのポイント
  • 1つのテーブルからのデータ取得方法を解説します。
  • Table1のAフィールドの値を指定し、それに一致するBとの関連データを取得します。
  • SQL文を使用して、指定したAの値に一致するレコードのBの値を取得することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • erupi1973
  • ベストアンサー率75% (27/36)
回答No.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 パフォーマンスは悪いかもしれません。

pokepotto
質問者

お礼

分かりにくい質問にもかかわらず、 丁寧な御回答本当にどうもありがとうございました。 共通テーブル表現というのがあるのですね。 参考になりました。 しかし、現状SQL SERVER2000という環境で この便利な機能がつかえません。 しかしながらCTEをキーワードに 上記の問題がやはり一時テーブルを使用するなど しないと2000だと難しいということが 分かり、それだけでも大変助かりました。 ほんとうにどうもありがとうございました。

関連するQ&A