私は Access 2010 の初心者ではありませんが、専門家ではありません。私は日常的に Access を使用していますが、この問題に悩まされています。
グループ、サブグループ、および可能なすべてのサブメンバーのセットを取得するためにクエリを実行する必要があるテーブルがあります。テーブルは次のように配置されます。
希望するグループ | 現在のTN | スプリントの電話番号 | 姓 | 名5553215255
| 5553210001 | 4143210009 | 堰ボブ
5553215255 | 5553210002 | 4143210008 | ガルシア・ジェリー
5553215255 |5553210003 | 4143210007 | ヘンドリックス ジミ
5553215255 | 5553210004 | 4143210006 | ペッド ページ
5553210004 | 3144230009 | 4143210005 | 現金ジョニー
5553210004 | 3144230008 | 4143210003 | モリソン ジム
5553210004 | 3144230007 | 4143210002 |ベートーヴェン・ルートヴィヒ
5553210004 | 3144230911 | 4143210001 | 緊急ペッド ページ
3144230911 | 6362341101 | 4143210099 |ストラマー・ジョー
3144230911 | 6362341101 | 4143210098 | マーキュリー・フレディ
3144230911 | 6362341101 | 4143210097 |プレスリー・エルヴィス
3144230911 | 6362341101 | 4143210096 | ボッパービッグ
定義されたフィールド:
- 目的のグループ: 役割またはその他の基準に基づく人々のグループ。この番号を呼び出すと、特定のグループのメンバーにページが送信されます。
- 現在の TN: 特定のメンバーの電話。メンバーは個人または目的のグループにすることができます
- Sprint の電話番号: ポケットベルを Sprint の電話に置き換える人もいます。
- 姓: 個人の役割または姓。場合によってはグループ名など。
- 名: 人の名前
実行時にページングされたすべてのグループのすべてのメンバーのリストを返すクエリが必要です。医師にページを送るとします。Paging Doctors はまた、Peds のすべてのメンバーをページングし、Emergency Peds のすべてのメンバーをページングします。結果として、Doctors のすべてのメンバー、Peds のすべてのメンバー (グループ名を除く)、および結果としてページングされた Emergency Peds のすべてのメンバーが表示されます。最初のページの。Peds ページと Emergency Peds ページが除外されたことに注意してください。ここに示されています:
希望するグループ | 現在のTN | スプリントの電話番号 | 姓 | 名5553215255
| 5553210001 | 4143210009 | 堰ボブ
5553215255 | 5553210002 | 4143210008 | ガルシア・ジェリー
5553215255 |5553210003 | 4143210007 | ヘンドリックス ジミ
5553210004 | 3144230009 | 4143210005 | 現金ジョニー
5553210004 | 3144230008 | 4143210003 | モリソン ジム
5553210004 | 3144230007 | 4143210002 |ベートーヴェン・ルートヴィヒ
3144230911 | 6362341101 | 4143210099 |ストラマー・ジョー
3144230911 | 6362341101 | 4143210098 | マーキュリー・フレディ
3144230911 | 6362341101 | 4143210097 |プレスリー・エルヴィス
3144230911 | 6362341101 | 4143210096 | ボッパービッグ
- ある同僚は、手動で複数回クエリを実行し、結果を複数のテーブルに保存してから、結果のすべてのテーブルを 1 つのテーブルに追加することを提案しています。どうすればいいですか?これは私のレベルでは簡単に理解できる解決策のようですが、うまく理解できていません。
- 上記の解決策以外に別の方法はありますか?
- 2 番目の同様のテーブルを最初のテーブルと比較する場合、他に知っておくべきことはありますか? 2 番目の MEMBERS は、1 番目の GROUP LEADS である可能性があります。
MIGHTY BIG よろしくお願いします。
コメントから sql を含めるように編集します。
SELECT *
FROM (SELECT tbl_group_build.[desired group],tbl_group_build.[current tn],
tbl_group_build.[sprint telephone number],
tbl_group_build.[last name],
tbl_group_build.[first name]
FROM tbl_group_build
UNION
SELECT tbl_Group_build_1.[desired group],tbl_Group_build_1.[current tn],
tbl_Group_build_1.[sprint telephone number],
tbl_Group_build_1.[last name],tbl_Group_build_1.[first name]
FROM tbl_group_build
INNER JOIN tbl_group_build AS tbl_Group_build_1
ON tbl_group_build.[current tn] =
tbl_Group_build_1.[desired group]
UNION
SELECT tbl_Group_build_2.[desired group],tbl_Group_build_2.[current tn],
tbl_Group_build_2.[sprint telephone number],
tbl_Group_build_2.[last name],tbl_Group_build_2.[first name]
FROM (tbl_group_build
INNER JOIN tbl_group_build AS tbl_Group_build_1
ON tbl_group_build.[current tn] =
tbl_Group_build_1.[desired group])
INNER JOIN tbl_group_build AS tbl_Group_build_2
ON tbl_Group_build_1.[current tn] =
tbl_Group_build_2.[desired group]) g