SQL ステートメントに問題があります。
基本的に私は5つのテーブルを持っています。これらは次のとおりです。
Books、Records、OrderedBooks、OrderedRecords、および Orders。
My orders には顧客が行うすべての注文が含まれ、MyorderedRecords には、顧客の注文に関連するすべての書籍とレコードが含まれます。また、books and records テーブルには、各書籍とレコードに関連する情報が含まれていることは明らかです。
私のorderedrecordsとorderedbooksには、対応する本/レコードに関連するBookIDとRecordIDが含まれています。
booktitle、bookcost、bookQuantity、booksTotal(price*quantity) recordtitle、recordcost、recordQuantity、recordsTotal を表示する必要があるアプリを作成しています。
書籍とレコードの合計は、SQL で数学関数を使用して計算する必要はありません。
これまでのところ、私が望むものを正確に提供することができましたが、3つの本の注文と1つのレコードの注文があり、レコードの注文の残りの2行については、単にデータを複製するのではなく、データを複製します空の。機能していない左結合と右結合を試しました。
これが私のSQLステートメントです...
SELECT Books.Title AS BookTitle
, Books.Cost AS BookCost
, OrderedBooks.Quantity AS BookQuantity
, OrderedBooks.Total AS BooksTotal
, Records.Title AS RecordsTitle
, Records.Cost AS RecordsCost
, OrderedRecords.Quantity AS RecordQuantity
, OrderedRecords.Total AS RecordsTotal
-- Nothing wrong with select part
FROM Orders
INNER JOIN OrderedBooks ON OrderedBooks.OrderID = Orders.ID
FULL OUTER JOIN OrderedRecords ON OrderedRecords.OrderID = Orders.ID
LEFT OUTER JOIN Books ON OrderedBooks.BookID = Books.ID
LEFT OUTER JOIN Records ON OrderedRecords.RecordID = Records.ID
WHERE (Orders.ID = 9)
正しい注文番号の正しい注文された本とレコードを返しますが、重複した行を取り除くことができないようです