代表多种付款方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代表多种付款方式相关的知识,希望对你有一定的参考价值。
我有一种情况,客户可以通过信用卡或PayPal帐户付款。我目前有一个超级作为“客户”,有两个子类型的'公共'和'商业'。但是,这两种类型都可以通过任何一种付款方式支付,并且可以使用多个信用卡/ PayPal帐户。
我有一个当前的模型,但不是有多个卡等。我最终需要能够查询客户通过什么方法支付。例如,在一段时间内通过信用卡支付了多少客户。
减去付款细节的模型看起来类似于:
[订购] - - - - [客户] ---(d)--- [PUBLIC] [商业]
答案
在SQL中提取这种查询应该不是问题。如果您为付款帐户添加了表格,并且PAYPAL_ACCOUNT和CREDITCARD_ACCOUNT需要是两个单独的表格,您可以将这些表格与CUSTOMER和ORDER相关联,但不能与PUBLIC或COMMERCIAL相关联。
您可以在SQL中使用LEFT JOIN来显示不包含每个表的行。这将填充表中的字段为null,例如当它是来自PUBLIC帐户的订单并且您查看COMMERCIAL表时
SELECT * from ORDER o
INNER JOIN CUSTOMER c on c.ID = o.CustomerID
LEFT JOIN PUBLIC p on p.CustomerID = c.ID
LEFT JOIN COMMERCIAL co on co.CustomerID = c.ID
LEFT JOIN PAYPAL_ACCOUNT pa on pa.ID = o.PaypalAccountID
LEFT JOIN CREDITCARD_ACCOUNT cc on cc.ID = o.CreditCardAccountID
然后你可以在最后添加where子句来缩小范围
WHERE o.PaypalAccountID is not null
只拉起Paypal
以上是关于代表多种付款方式的主要内容,如果未能解决你的问题,请参考以下文章