二、【圖1】為某公司的顧客交易資料庫架構,請使用SQL 語法回答下列查詢。
最佳解答案有問題,原因出在產品ID='P0001' AND 'P0002'
不可能有一個ID叫P0001同時又叫P0002的情況
所以SQL語法要做修正
以下是我的答案,如有問題,請不吝指教
SELECT COUNT(*) FROM 交易紀錄 WHERE 交易序號 IN(
SELECT A.交易序號 FROM 交易明細 A 交易明細 B
WHERE A.產品ID= 'P0001' and B.產品ID='P0002'
AND A.明細流水號=B.明細流水號);
同樣是交易明細會分成 交易明細 A 交易明細 B
用意在於單獨購買P0001的明細流水號不會等於單獨購買P0002的明細流水號
那甚麼情況下會相同,就是同時購買P0001及P0002的情況下
所以才會同樣的表分成兩張去做JOIN