アプリ版:「スタンプのみでお礼する」機能のリリースについて

教えてください。
ASPでMDBを検索したいのですが、
SQLにどうかけばいいのか悩んでします。

テーブルAがあります。
ID、名前、住所、親IDというフィールドがあります。
実は親子関係がこのテーブルには含まれていまして、
子データには、親IDに親データのIDが入っています。
子データにも名前、住所が入っています。
親データの親IDには0が入っています。

このテーブルAの名前・住所・子データの名前・子データの住所で
文字検索したいのですがどのようなSQLになりますか?
子データは、ないものもあります。

以上よろしくおねがいします。

A 回答 (3件)

失礼しました。

 完全に質問を取り違えていました。
現状のデータ構造のまま考えるなら、親のデータを含めて表示させるクエリを作って抽出するのが一番楽だと思います。 そっくり同じテーブル テーブルA_1 にリンクをつけて、

SELECT テーブルA.ID, テーブルA.名前, テーブルA.親ID, テーブルA_1.名前
FROM テーブルA LEFT JOIN テーブルA AS テーブルA_1 ON テーブルA.親ID = テーブルA_1.ID;

ちょっとフィールドを端折っていますが、これにwhere句をつければできると思います。 

この回答への補足

再び、回答ありがとうございます。

教えてもらったとおりにしてみたのですが、だめです。

これって、テーブルA_1が子ですよね?
でもテーブルAに子データが表示されます。

補足日時:2007/09/03 11:44
    • good
    • 0

説明が下手で申し訳ありません。

 
テーブルA.親ID = テーブルA_1.ID 
ということはテーブルAは子データで、テーブルA_1が親データということになると思います。 
(テーブルAの親ID = テーブルA_1のIDという設定をしていますので。)
    • good
    • 0
この回答へのお礼

すみません。
やっとわかりました・・・。

教えていただいたSQLでは、
親子関係のあるデータしかとってこれないので、親のみデータと親子データを抽出して。さらにユニオン作成することにしました。

何度もありがとうございました。

お礼日時:2007/09/03 19:36

子データのみを抽出したいなら、


WHERE句に 検索条件については、普通通りLIKEを使ってそれに 
AND [親ID]=0
を加えればよいだけだと思います。

この回答への補足

書き方がややこしくてもすみません。

親データ・子データともに検索対象です。
あと子データは、親ID=0ではないです。

補足日時:2007/08/31 13:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す