我有两个表,分别是booking
和ledger
。
booking
表:
BookingID -- RegularPrice -- DownPayment -- PerMonthInstallment
1 100,000 10,000 7,500
ledger
表:
BookingID Voucher -- PaymentType -- Amount
1 1 Down Payment 10,000
1 2 Installment 7,500
当前输出为;
PaymentType -- PerMonthInstallment -- PaidAmount
Down Payment 7,500 7,500
Installment#1 7,500 7,500
我想要的是,如果PaymentType
是预付款,那么在PerMonthInstallment
列中,该值应该是10,000
而不是7,500
。
PaymentType -- PermonthInstallment -- PaidAmount
Down Payment 10,000 10,000
Installment#1 7,500 7,500
我的查询
SELECT booking.BookingID,
booking.PerMonthInstallment,
ledger.PaymentType,
ledger.PaidAmount,
ledger.Voucher
from booking
INNER JOIN ledger ON booking.BookingID = ledger.BookingID
答案 0 :(得分:0)
好了,我的第一个建议是您不应该使用带字的付款方式。你可以做的是给一个数字作为例子 首付= 1 分期付款= 2 因此,当您使用它们时,您可以从它们中取出条件 对于您的查询问题,可以使用IF
SELECT IF(PaymentType=='Down Payment',10000,7500) AS Dueamount FROM TableName;
如果您要更改我的建议
SELECT IF(PaymentType==1,10000,7500) AS Dueamount FROM TableName;
原因是假设某处会有额外的空间,但是考虑到这些空间,您仍然看不到它仍在编程,因此需要花费一些时间来注意到该空间,因此请使用number代替它,这是数据库异常< / p>