複数の書籍と注文の詳細を表示するデータベース内の複数のテーブルから情報を選択しようとしています。 SQLクエリで複数のテーブルを結合する
私はその本を置いてきた受注のための書籍や情報についての情報を取得するために、特定の書籍の5つのテーブル(著者、bookauthor、書籍、オーダーライン、およびbookorder)にISBNを照会しています。
私に与えSELECT orderline.isbn, title, ordernumber, orderdate, customername, numcopies, orderline.bookprice, authorname
FROM author natural join bookauthor natural join book join orderline natural join bookorder
WHERE orderline.isbn = book.isbn
and book.isbn = "1491936169"
ISBN: 1491936169 Title: Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale
Author: Neha Narkhede, Todd Palino, Gwen Shapira
Order Number Date Customer Copies Price Total
N201699998 2016-12-24 Mary Hall 2 33.99 67.98
N201799999 2017-01-03 Aran Clauson 1 33.99 33.99
Total:
をしかし命じられていないと表示され、これオーダーラインのテーブルに存在しないが、本表であるしているいくつかのISBNコードがありますすべての本のためのisbn。
ISBN: 0387848576 Title: The Elements of Statistical Learning
Author: Jerome Friedman, Trevor Hastie, Robert Tibshirani
No orders
は基本的に私はいないがあるISBNとnull値のための書籍情報を表示するテーブルが欲しい:
は、私は同様のような注文を持たない書籍の書籍情報を表示します注文。私はこれが何らかの自然な外部結合であると想像していますが、私の試みは空のテーブルになりました。
SELECT ordernumber, orderdate, customername, orderline.isbn, title, orderline.numcopies, stock, shipmentbook.numcopies as shipcopies, authorname
FROM author natural join bookauthor natural join book left join bookorder natural join orderline
ON book.isbn = orderline.isbn
left join mousavs.shipmentbook
ON book.isbn = shipmentbook.isbn
WHERE stock > orderline.numcopies
GROUP BY ordernumber
ORDER BY orderdate, ordernumber, ISBN
エラーコードによりグループを使用して重複を削除しようとする
更新クエリ :SELECTリストの1055式#4は、GROUP BY句ではなく、ある非凝集列「mousavs.orderline.isbn」を含みますGROUP BY句の列に機能的に依存しない
'選択....本からは、<あなたのテーブルの残りの部分を>参加左...' [W3学校](https://www.w3schools.com/sql/trysql.asp?filename= trysql_select_join_left) – scsimon
@scsimonは私の先行するwhere節にsynaxエラー(予期しないところ)を与えてくれます。 – Silverfin
私はあなたの最後のコメントが何を意味するのか分かりませんが、私はほとんど独占的に自然な参加を避けるでしょう。 – scsimon