mysql条件根据特定条件验证数据

标签 mysql sql

我有两个表,即bookingledger .

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

最佳答案

好吧,我的第一个建议是您不应该使用文字付款类型。你能做的是你可以给出一个数字作为例子让我们说 首付=1 分期付款=2 所以当你使用它们时你可以从它们那里设置条件 对于您的查询问题,您可以使用 IF

SELECT IF(PaymentType=='Down Payment',10000,7500) AS Dueamount FROM TableName;

如果您要更改我的建议

   SELECT IF(PaymentType==1,10000,7500) AS Dueamount FROM TableName;

原因是假设某个地方会有额外的空间,但考虑到这些空间,您看不到它仍在编程,需要一些时间才能注意到该空间,因此使用数字而不是这个,这是数据库异常

关于mysql条件根据特定条件验证数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59496209/

相关文章:

php - 计算用户的排名

sql - 优化 Hibernate Sequence ID 生成

mysql - 带条件的 ORDER BY Doctrine

mysql - 查找最近更新的行的快速方法是什么?

javascript - 发送数据到MySQL并显示更新的DB(AJAX)

MYSQL 选择查询返回 NULL 时的情况进行输出

php - 警告 : When only one parameter is given, 必须是数组

mysql - 尽管有数据,但带有 MAX 函数的 HAVING 子句不返回任何数据

php - MySQL查询帮助计数请

c++ - 从源代码中使用 SQL lite - 如何创建数据库文件并将一些数据放入其中?