SELCTを使って違うテーブルのデータを2度使って表示させたいのですが
どのようにしたらいいのか教えてください。
----------------------
■テーブルの構成
・FoodList
NO(主キー)
Food
・MyList
NO(主キー)
fist
second
----------------------
■テーブルの内容
・FoodList
NOFood
1りんご
2みかん
3ぶどう
・MyList
NOfistsecond
123
212
321
----------------------
これで
1みかんぶどう
2りんごみかん
3みかんりんご
というように表示させたいのですが
どのようにしたらいいのでしょうか?
---------------------------------------------------------
SELECTMyLike.NO AS Expr1,FoodList.food,MyLike.Second
FROMFoodList INNER JOIN
MyLike ON FoodList.NO = MyLike.first
---------------------------------------------------------
とすると
1みかん3
2りんご2
3みかん1
となってしまいますし
---------------------------------------------------------
SELECTMyLike.NO AS Expr1,FoodList.food,MyLike.Second
FROMFoodList INNER JOIN
MyLike ON FoodList.NO = MyLike.first AND FoodList.NO=MyLike.Second
---------------------------------------------------------
とすると表示されないですし
どのようにしたら実現できるでしょうか?
教えてください。よろしくお願いします。
No.4ベストアンサー
- 回答日時:
誤字がかなり多いので一旦整理しますね
---テーブル情報---
・FoodList
NO Food
1 りんご
2 みかん
3 ぶどう
・MyList
NO first second
1 2 3
2 1 2
3 2 1
---------------
正しくは以下の通りです。
--------------------------------
SELECT
MyList.No,
FoodList.Food As firstFood,
FoodList_2.Food As secondFood
FROM MyList
INNER JOIN FoodList
ON MyList.first = FoodList.No
INNER JOIN FoodList As FoodList_2
ON MyList.second = FoodList_2.No
--------------------------------
スレ主の2件目クエリーの結合順序が逆になっているのが原因ですね。
No.3
- 回答日時:
こんにちは。
下手な説明になりますが、回答させていただきます。なぜ、
---------------------------------------------------------
SELECTMyLike.NO AS Expr1,FoodList.food,MyLike.Second
FROMFoodList INNER JOIN
MyLike ON FoodList.NO = MyLike.first
---------------------------------------------------------
↑これで、結果が
1みかん3
2りんご2
3みかん1
になってしまうかと言うと、SELECTで最後に「Second」を入れている
からです。これでは、JOINしても表示は数字になってしまいます。
正しく表示したいのであれば、
---------------------------------------------------------
SELECT MyList.NO AS Expr1,FoodList.food,FoodList.food AS FOOD_NAME
FROM FoodList INNER JOIN MyList
ON FoodList.NO = MyList.first
OR FoodList.NO = MyList.second
---------------------------------------------------------
↑のように、同じ行のSELECTをしても「FOOD_NAME」のように別名をつけていれば
問題ありません。
また、ANDで結合条件をまとめるのではなく、ORにすれば表示されなくなることも
なくなるはずです。
※冒頭SQL文に出てくる、テーブル名「MyLike」とは「MyList」のミスだと解釈し
て説明しています。
これでもし、うまく実行出来なかったらかなりお恥ずかしいです;すみません。
結果のお返事、お待ちしております。
No.2
- 回答日時:
#1ですが、やはり訂正あり。
2行目のinnerJoinは、firstでは無くてsecondでした。
SELECT MyLike.NO AS Expr1, FL1.food, FL2.food
FROM MyLike
INNER JOIN FoodList FL1 ON MyLike.first = FL1.NO
INNER JOIN FoodList FL2 ON MyLike.second = FL2.NO
回答ありがとうございます。
ログインできる環境ではなく今朝みさせていただき
お礼がおくれてしまいました。
おかげでできることができました。
ありがとうございます。
No.1
- 回答日時:
2回登場する[FoodList]にエイリアスを付けて、「別なテーブル」として識別させる。
SELECT MyLike.NO AS Expr1, FL1.food, FL2.food
FROM MyLike
INNER JOIN FoodList FL1 ON MyLike.first = FL1.NO
INNER JOIN FoodList FL2 ON MyLike.first = FL2.NO
試験してないので、ちょっと怪しいかも。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle SQL update方法 2 2022/06/22 14:07
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- MySQL 【MySQL】本当に困っています。詳しい方、ご教授よろしくお願いします。 1 2023/06/03 14:18
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- MySQL 【MySQL】本当に困っているので、助けてください。よろしくお願いします。 3 2023/06/03 14:24
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- 英語 不定代名詞"no..."の否定語noの及び範囲について 4 2022/08/04 11:11
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- 英語 提示文で複合関係代名詞を繰り返さない理由の有無について 7 2022/11/21 12:32
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLです!!教えてください。あ...
-
SQLです!!教えてください。あ...
-
【SQL】他テーブルに含まれる値...
-
SQLで、Join句で結合したテ...
-
SQLサーバのデータが削除できない
-
ACCESSのVBAにてExcelに行...
-
既存データをINSERT文にして出...
-
2つのテーブルをLIKE演算子のよ...
-
ACCESSの初歩的質問です。
-
AccessとSQL Serverの連携について
-
ExcelのVLOOKUP関数の動作をMyS...
-
PRIMARY KEYのコピー
-
sqlの副問合せについて
-
同一テーブル内での比較(最新...
-
DB2のSQLコマンドについて
-
パススルークエリ&ACCESSテーブ...
-
Access特定のテーブルを編集不...
-
Accessの構成をコピーしたい
-
データ無し時は空白行にしたい...
-
SQL文がわからない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
テーブル名が可変の場合のクエ...
-
既存データをINSERT文にして出...
-
結合したテーブルをSUMしたい
-
SQLで、Join句で結合したテ...
-
2つのテーブルをLIKE演算子のよ...
-
ACCESSのVBAにてExcelに行...
-
データ無し時は空白行にしたい...
-
下記の問合せを行うクエリを、 ...
-
Accessの構成をコピーしたい
-
ExcelのVLOOKUP関数の動作をMyS...
-
SQLサーバに対するSQL文で抽出...
-
ADO+ODBCでテーブルに接続する...
-
ExcelのMatch関数のようなもの...
-
ACCESS クエリーでソートの不具合
-
PRIMARY KEYのコピー
-
同一テーブル内での比較(最新...
-
SQLです!!教えてください。あ...
-
改行を含んだデータのインポート
-
複数のテーブルからデータを取...
おすすめ情報