1

ここで簡単に検索しましたが、探していた答えが見つかりませんでした。これが私がやりたいことです:

私は簡単なイベント登録追跡システムを作成しています。

私はregistrationというデータベースを持っており、そのデータベースにtable1、table2.....table10という10個のテーブルを作成しました。これらすべてのテーブルには、user_idという1つの列しかありません。

userinfoというテーブルがもう1つあり、このテーブルにはとという2つの列がuser_idありusernameます。

すべてのテーブルにuser_idが存在するかどうかを確認するクエリを作成する必要があります。含まれている場合は、userinfoテーブルからそのユーザーの名前が表示されます。

count関数を使用して各user_idの合計カウントを取得することを考えていましたが、カウントが11の場合、user_idがすべてのテーブルに存在することがわかります。

しかし、それが適切な方法かどうかはわかりません。任意のアイデアをいただければ幸いです。私はクエリが苦手なので、誰かが例を投稿できれば。よろしくお願いします。

4

1 に答える 1

1

user_idフィールド上のすべてのテーブルで内部結合を実行し、結合されたクエリに結果が存在する場合にのみ、userinfoテーブルのユーザー名を表示できます。

SELECT username FROM userinfo it WHERE EXISTS (

SELECT user_id FROM table1 t1 
INNER JOIN Table2 USING(user_id)
INNER JOIN Table3 USING(user_id)
INNER JOIN Table4 USING(user_id)
INNER JOIN Table5 USING(user_id)
INNER JOIN Table6 USING(user_id)
INNER JOIN Table7 USING(user_id)
INNER JOIN Table8 USING(user_id)
INNER JOIN Table9 USING(user_id)
INNER JOIN Table10 USING(user_id)
WHERE t1.user_id = it.user_id
);
于 2013-03-17T17:42:09.410 に答える