Как использовать как в условиях IF запроса MySQL? - PullRequest
0 голосов
/ 18 апреля 2019

Я работаю над бухгалтерской книгой, и мой php-код требует запроса, чтобы определить, является ли его сумма дебета ИЛИ сумма кредита.

SELECT jobber, 
IF(Pay_type='Payable', amount AS credit_amount, amount AS debit_amount)
 FROM Jobber_payments

Я тоже пробовал это, но у меня не работает. Если есть возможность в вышеуказанном запросе.

SELECT jobber, IF(Pay_type='Payable', credit_amount, debit_amount) AS amount_type
amount AS (SELECT amount_type)
FROM Jobber_payments

если условие (Pay_type = 'Payable') истинно, оно пройдет

credit_amount будет именем поля или имени столбца и значением суммы 5000

еще debit_amount будет именем поля или именем столбца и значением суммы 5000

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Вы не можете иметь столбец с 2 разными именами (псевдонимами).
Что вы можете сделать, это иметь 2 столбца, по одному на каждый случай:

SELECT 
  jobber, 
  case when Pay_type='Payable' then amount end AS credit_amount, 
  case when Pay_type<>'Payable' then amount end AS debit_amount 
FROM Jobber_payments

В этом случае есть 2 столбца, один из которых будет нулевым, а другой будет содержать значение.

0 голосов
/ 18 апреля 2019

Условие IF подробно поясняется ниже;

IF(condition, value_if_true, value_if_false)

Проверьте ссылку ниже, они четко объяснили использование IF.

https://www.w3schools.com/sql/func_mysql_if.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...