1対多のマッピングを持つ3つのテーブルがあります。つまり、名前は配送と支払いと1対多の関係にあります(**大文字と小文字の区別を無視します**)
Table parent has 3 columns id, name, name_id
Table shipping has 3 columns id, shippingName,name_id
Table payment has 3 columns id, paymentName, name_id
以下のクエリを実行すると
SELECT shipping.shippingName,payment.paymentName,parent.name,Parent.name_id
FROM parent
JOIN shipping
ON parent.name_id = shipping.name_id
JOIN payment
ON parent.name_id = payment.name_id
WHERE parent.name_id= '3'
上記は戻ります
shipping Name paymentName name name_id
Fedex Credit AA 3
Fedex Debit AA 3
USPS Credit AA 3
USPS Debit AA 3
しかし、私が欲しかったのは
shipping Name paymentName name name_id
Fedex Credit AA 3
USPS Debit AA 3
方法はありますか?または、配送テーブルと支払いテーブルの間のマッピングを設定する必要がありますか?
Shipping Table
ID ShippingName name_id
1 FEDEX 3
2 USPS 3
Payment Table
ID PaymentName name_id
1 Credit 3
2 Debit 3
Parent Table
ID name name_id
1001 A 1
1002 B 2
1003 AA 3
フェデックスには支払いオプションがありません..親は配送で1対多です&&親は支払いで1対多です..支払いと配送の間に関係はありません私の質問は、1回のデータベース呼び出しまたは2 つの異なるクエリ (親 + 配送) (親 + 支払い) で 2 回呼び出す必要があります。