gpt4 book ai didi

mysql - 具有多个联接的 JDBC 检索

转载 作者:行者123 更新时间:2023-11-29 14:02:36 25 4
gpt4 key购买 nike

我有三个具有一对多映射的表,即名称与运输和付款具有一对多关系(**忽略区分大小写**)

    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

Fedex 没有付款选项。. 父级与运输有一对多 && 父级与付款有一对多.. 付款和运输之间没有关系我的问题是,是否有可能在一次数据库调用中获得我想要的结果集,或者应该使用 2 个不同的查询调用两次(父级+运费)(父级+付款)

最佳答案

Shipping Table

ID ShippingName name_id Payment_ID
1 FEDEX 3 1
2 USPS 3 2

Payment Table

ID PaymentName
1 Credit
2 Debit

Parent Table

ID name name_id
1001 A 1
1002 B 2
1003 AA 3

查询:

SELECT shipping.shippingName,payment.paymentName,parent.name,Parent.name_id
FROM parent
JOIN shipping
ON parent.name_id = shipping.name_id
JOIN payment
ON shipping.Payment_ID = payment.ID
WHERE parent.name_id= '3';

关于mysql - 具有多个联接的 JDBC 检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14842726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com