![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Access2007のSQLで質問です。「ユーザが選んだレンタカー営業所に所属する車と、その借主、レンタル日、レンタル期間」を一覧で表示するクエリーを制作しています。
テーブル
■Customer
-CustomerID(主キー)
-FirstName
-LastName
■Book
-FK_CustomerID(複合キー)
-FK_CarNo(複合キー)
-Date
-Duration
■Car
-CarNo(主キー)
-Model
■Own
-FK_CarNo(複合キー)
-FK_LocationNo(複合キー)
■Location
-LocationNo(主キー)
-LocationName
-------------------------------------------------------------------
LocationNameの中から指定したLocationが保有するCarのBookすべてを表示するクエリーを作りたいです。
クエリーが生成するアウトプットは、CarNo, Model, FirstName, LastName, Date, Duration, です。
以下のSQLを作ってみましたが、"syntax error missing operator.."と表示されてしまいます。
SELECT c.CarNo, c.Model, cs.FirstName, cs.LastName, b.Date, b.Duration
FROM Location l INNER JOIN ( ( (Own o INNER JOIN Car c ON o..FK_CarNo = c.CarNo l.LocationNo) INNER JOIN Book b ON c.CarNo = b.FK_CarNo) INNER JOIN Customer cs ON b.FK_CustomerID = cs.CustomerID) ON l.LocationNo = o.FK_LocationNo
WHERE l.LocationName =:user_input ;
No.2ベストアンサー
- 回答日時:
この場合、INNER JOINの後を()でくくる必要はないのだが。
それはさておき、
SELECT c.CarNo, c.Model, cs.FirstName, cs.LastName, b.Date, b.Duration
FROM Location l
INNER JOIN ( ( (Own o INNER JOIN Car c ON o..FK_CarNo = c.CarNo l.LocationNo)
/* o..FK_CarNo は、 o.FK_CarNo のあやまりでしょう。 また
c.CarNoの後にあるl.LocationNoは何のためのものか分らないので文法エラーになります。 */
INNER JOIN Book b ON c.CarNo = b.FK_CarNo) INNER JOIN Customer cs ON b.FK_CustomerID = cs.CustomerID) ON l.LocationNo = o.FK_LocationNo
WHERE l.LocationName =:user_input ;
ANO.1の方が書いた方法で悪いとは思わないのですが、ご自身で書かれたselect文を試してみたければ
/* ・・・ */内に書かれた内容を直した下のselectを試して見られたらいいでしょう。
SELECT c.CarNo, c.Model, cs.FirstName, cs.LastName, b.Date, b.Duration
FROM Location l INNER JOIN ( ( (Own o INNER JOIN Car c ON o.FK_CarNo = c.CarNo) INNER JOIN Book b ON c.CarNo = b.FK_CarNo) INNER JOIN Customer cs ON b.FK_CustomerID = cs.CustomerID) ON l.LocationNo = o.FK_LocationNo
WHERE l.LocationName =:user_input ;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- Oracle SQL update方法 2 2022/06/22 14:07
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Excel(エクセル) Excel同士のデータの突合 3 2023/08/07 16:34
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sqlserverで集計結果をUPDATEし...
-
ACCESSのSQLで、NULLかNULLでな...
-
sqlplusでバックスペースが効か...
-
オラクルではできるのにSQLSERV...
-
sqlserverで同一キー単位で金額...
-
MAX値を条件にデータを取得する...
-
アクセス 日付抽出(年月のみ)...
-
sqlserverで対象のレコードを削...
-
「マスタ」と「テーブル」の違...
-
Accessにインポートしたら並び...
-
SELECT時の行ロックの必要性に...
-
ACCESS2007 フォーム 「バリア...
-
Access VBA Me.Requery レコー...
-
SELECT文でのデッドロックに対...
-
クエリのキャンセルがいつにな...
-
ACCESS 一つのフィールドに複...
-
Accessでクエリを完了できませ...
-
Access 1レコードずつcsvで出力...
-
データの二重表示の原因
-
2つの項目が重複するレコード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのSQLで、NULLかNULLでな...
-
sqlserverで集計結果をUPDATEし...
-
オラクルではできるのにSQLSERV...
-
アクセス 日付抽出(年月のみ)...
-
違いを教えてください
-
更新クエリでキー違反
-
MAX値を条件にデータを取得する...
-
AccessのSQLで、FROM句の構文エ...
-
プライマリーキーで同じ値をUPD...
-
シャープレジスター エラーコード
-
sqlplusでバックスペースが効か...
-
ACCESSで複数テーブルを結合し...
-
F1キーを押すの 英訳
-
sqlserverで同一キー単位で金額...
-
sqlserverで対象のレコードを削...
-
アクセスで複数テーブルの選択
-
Access 2010動きが遅い
-
AccessテーブルでのF6キーにつ...
-
DB構成<キーの考え方>
-
accessでのリンクテーブルの更新
おすすめ情報