複数の列から同じフィールドを参照した場合の問題

このQ&Aのポイント
  • 複数の列から同じフィールドを参照した場合、作成者と更新者の名前を取り出す方法がわかりません。
  • 現在のコマンドでは、作成者と更新者が一致するものしか取り出せません。
  • 何か良い方法があれば教えてください。
回答を見る
  • ベストアンサー

複数の列から同じフィールドを参照した場合

履歴TBL、社員TBLがあり(構成は文章下に記述しました) 履歴TBLの書類名+社員TBLから参照して作成者と更新者の名前を取りたいのですが、 作成者と更新者が同じフィールドを参照している為、上手く取り出せずに悩んでいます。 ’現在は↓のようなコマンドを打ちこんでいますが、当然出ません(作成者IDと更新者IDが一致するものしかでませんし、コマンドもおかしい事は分かっています) SELECT 書類名, 社員名, 社員名 FROM 履歴TBL, 社員TBL WHERE (履歴TBL.作成者ID=社員TBL.社員ID) AND (履歴TBL.更新者ID=社員TBL.社員ID) くだらない事を聞いて申し訳ありませんが、 暇な時で結構ですので、ご回答お待ちしております。 履歴TBL 作成者ID 更新者ID 書類名 0001   0002   ABC 0003   0003   DEF 社員TBL 社員ID  社員名   0001   山田一郎 0002   佐藤太郎 0003   鈴木次郎

  • Oracle
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

こんな感じでは: select h.書類名,e1.社員名 '作成者',e2.社員名 '更新者' from 履歴TBL h, 社員TBL e1, 社員TBL e2 where h.作成者ID=e1.社員ID and h.更新者ID = e2.社員ID;

hannnari
質問者

お礼

ありがとうございました SQLコマンドですが、お答え頂いた文そのままではエラーになりましたので、 ↓のように間に【as】を入れて上手くいきました select h.書類名,e1.社員名 as '作成者',e2.社員名 as '更新者' (From以下はそのまま) from 履歴TBL h, 社員TBL e1, 社員TBL e2 where h.作成者ID=e1.社員ID and h.更新者ID = e2.社員ID;

関連するQ&A

  • 縦持ちになっているデータを横持ちにしたいのですが

    SQLServser2012で縦持ちになっているデータを横持ちにしたいのですが、どうしたらよいでしょうか? 〇以下のように現在、テーブル設計されております。 請求TBL --------------------------------------------- 請求ID 請求先名 001 田中 太郎 002 鈴木 一郎 注文TBL ------------------------------------------------ 請求ID 注文ID 発送先 商品ID 個数 001 001 田中 太郎 A 10 001 002 佐藤 次郎 A 5 002 003 鈴木 一郎 B 3 商品TBL ----------------------------- 商品ID 商品名 A みかん B りんご このデータを以下のような結果として得たいのですが、どのようにしたらSQLを作成したらよろしいでしょうか? 請求ID 請求先 商品内容 ------------------------------------------------- 001 田中 太郎 みかん*10、みかん*5 002 鈴木 一郎 りんご*3 ご教授の程、宜しくお願い致します。

  • FacebookにもIPのようなものがあるの?

    自分はFacebookをやったことがなく、知識がないので教えていただきたいのですが… Eメールや、ブログにコメントしたりすると、相手にこちらのIPアドレスなどが分かってしまいますよね? (Facebookには、足跡機能は無いとは聞いたのですが…) 例えば、自分の名前が「「山田太郎」だとします。 でも、まだFacebookがうまく使えないので、「鈴木一郎と」いう仮のアカウントを作って練習(?)するとします。 (Fbは本名がルールなのは知っていますが、下手な失敗をすると恥ずかしいのでちょっと練習したい…) で、鈴木一郎が、面識はない「佐藤次郎」と友達になって、佐藤次郎のところに訪ねているとします。 そして、後になって、本名の山田太郎として交信を始めたとき、 佐藤次郎は「鈴木一郎と山田太郎が同一人物」だと分かる術はあるのでしょうか? つまり、佐藤次郎には二人のIPアドレスのようなもの(?)が判って、「あれ?この二人同じじゃん!」って分かってしまうのでしょうか? 教えてください。

  • アクセス関数を使って、重複チェック

    アクセス2003を使っています。 ある講座の受講者のデータが入っているデータベースを作ろうと考えています。 その講座には受講者が実際に重複して受講する人がいます。 重複して受講しているかどうかを、「選択クエリ上の関数」を使って調べたいです。 具体的には  氏名  受講月 山田太郎 2009/1 佐藤一郎 2009/2 山田次郎 2009/3 佐藤一郎 2009/4 というデータベースがあり、佐藤一郎が重複しています。(受講月は重複していません) これをクエリを使って、  氏名  受講月 山田太郎 2009/1 佐藤一郎 2009/2 重複 山田次郎 2009/3 佐藤一郎 2009/4 重複 というクエリを作りたいです。 どうすれば良いでしょうか?

  • エクセル:このような「予定表」を作りたいのです。

    よろしくお願いします。 ◆シート1に5分単位で次のような入力を行います。 職員氏名 顧客氏名 訪問予定時間 終了時間 備考 ------------------------ 山田太郎 鈴木一郎  7:05     8:35   ×× 海川三郎 ○○    ○:○○    ○:○○ 山田太郎 佐藤次郎  9:00    10:15   ▲▲ 川波五郎 ○○    ○:○○    ○:○○  山田太郎 田中六郎 13:00    14:25   □□  ◆シート2に関数でつぎのような表示を出したいのです       7:00 7:30 8:00 8:30 9:00 9:30 ・・・ ------------------------ 山田太郎  7:05~8:35    9:00~10:15・・・         鈴木一郎    佐藤次郎 ・・・         ××       ▲▲  ・・・ ------------------------ ◆シート2の時間もセルの列を5分単位で区切ってセル幅を短くし、該当時間に条件付書式で色をつけるイメージです。 ◆職員数数十名、顧客数数百名で曜日別に作成するため、重くなるのは仕方ありませんが、シート2の作成するための「ヒント」がほしいのです。関数を主体に作成いたしたく、四苦八苦したのですが、どうもうまくできません。ご指導をよろしくお願いいたします。

  • エクセルVBAの質問です

    sample.xlsがあり内容は下記のように A列に名前、B列に数字が入り、行数は一定でありません 田中一郎 3 鈴木健一 5 佐藤太郎 8 田中一郎 5 田中一郎 2 佐藤太郎 7 鈴木健一 3 佐藤太郎 9 鈴木健一 54 佐藤太郎 8 田中一郎 9 このエクセルシートにコマンドボタンを付け、VBAでコマンドボタンを押した場合 指定したエクセルファイル”kekka.xls”に 田中一郎 19 鈴木健一 62 佐藤太郎 32 と言うように、名前別でその氏名の横の数字の合計を表示させたいと考えています。 何卒お知恵をお貸しください、お願いします。

  • 【Excel VBA】コピー&ペーストの自動化

    以下のエクセル表があり、同じ日付ごとのデータを自動的に別のシートに移したいです。 例えば、別のシートに、2004/1/1に書かれているデータのみを移す。(シート2参照) それをVBAで書くにはどうすればいいでしょうか。 マクロの記録をするのではなく、この表の日付を増やしたり変えたりしても機能するようにコードを書きたいと思っております。 For LoopとIf thenを使い、A1セルがそれより下のセルの値と異なるまでコピーし続ける、、といった作業をすればよいのでしょうか。 全くの初心者で勉強中です。よろしくお願いいたします。 列行 A B 1 2004/1/1 太郎 2 2004/1/1 次郎 3 2004/1/1 三郎 4 2004/1/1 一郎 5 2004/1/1 五郎 6 2005/3/3 三郎 7 2005/3/3 次郎 8 2005/3/3 太郎 9 2005/3/3 四朗 10 2006/2/2 次郎 11 2006/2/2 一郎 12 2006/2/2 太郎 シート2 2004/1/1 太郎 次郎 三郎 一郎 五郎 シート3 2005/3/3 三郎 次郎 太郎 四朗 シート4 2006/2/2 次郎 一郎 太郎

  • 条件にあった複数データを組合わせて別のセルに表示するには?

    例えば、以下のデータがセルに入っていたとして A列には姓 B列には名 A1:鈴木  B1:一郎 A2:鈴木  B2:次郎 A3:鈴木  B3:三郎 A4:佐藤  B3:あきら A5:佐藤  B3:けんた 同じ姓にあてはまるデータの名を、組合わせて別のセルに表示したいのです。 結果イメージ C1:鈴木  D1:一郎 次郎 三郎 C2:佐藤  D2:あきら けんた このようなことAccessかExcelで出来ますか?

  • SQLServerでの複数テーブルからのデータ抽出

    皆様、お知恵を拝借させてください。 現在、SQLServer + VB.netで開発を行っていますが、どうしてもうまくいかないので悩んでいます。 ロジックを組めば解決できるのは、わかっているのですが、SQL文だけで解決したいのです。 よろしくお願いします。 やりたいことは、複数テーブルからの同一IDの抽出です。 IDで単一化 テーブル【現在】を優先して抽出 テーブル【履歴】のみ存在する場合、履歴NOの大きい方を抽出 テーブル【現在】  ID 名前 趣味 ------------------  10 太郎 釣り  20 次郎 ゴルフ テーブル【履歴】  ID 名前 趣味 履歴NO -------------------------  10 太郎 将棋 01  10 太郎 囲碁 02  30 花子 園芸 01  30 花子 料理 02 求めたい結果は 10 太郎 釣り 20 次郎 ゴルフ 30 花子 料理 です。よろしくお願いします。

  • Excel : データを部分一致で参照したい

    こんにちは。 部分一致の方法をご存知でしたら教えてください。 以下のような二つのシートがあります。 <シート1> セルA 山田太郎 木村次郎 佐藤花子 <シート2> セルA  セルB    セルC 山田  太郎  03-1234-5678 木村   次郎  03-****-***** 佐藤   花子  03-****-***** シート1にシート2の電話番号を参照して表示させたいのですが、 シート2には苗字と名前が別のセルになっていて、 完全一致ができません。 シート2に1セル足して、苗字名前を両方表示させてもいいのですが、 できるだけ、シート2はいじらずに、苗字だけ一致させるか、あるいは二つのセル(苗字と名前)を参照して、シート1に電話番号を表示させる方法さがしていますがうまくいきません。どなたか詳しい方がいらっしゃいましたら、ご教示いただけませんか。よろしくお願い致します。

  • クエリを結合したいのですが…。

    クエリを結合したいのですが…。 クエリ1、クエリ2、があったとして、 クエリ1には 代表者名、家族名a、 佐藤太郎、佐藤花子 鈴木四郎、鈴木桜 クエリ2には 代表者名、家族名b、 田中一郎、田中菊 とあったとします。 新しくクエリを作成し、 代表者名、家族名 佐藤太郎、佐藤花子 鈴木四郎、鈴木桜 田中一郎、田中菊 と、クエリ1とクエリ2を合わせたものを作りたいのですが、実際可能でしょうか?アクセス2003を使用しています。ご教授宜しくお願い致します。