Как я могу выполнить логическую логику для двух столбцов в MySQL?
Вопрос
Я хочу сделать выбор в MySql, который объединяет несколько столбцов...что-то вроде этого псевдокода:
SELECT payment1_paid AND payment2_paid AS paid_in_full
FROM denormalized_payments
WHERE payment1_type = 'check';
Редактировать:«Payment1_paid» и «Payment2_paid» являются логическими значениями.
Я не могу использовать для этой конкретной задачи какой-либо другой язык, кроме MySql.
Спасибо за любую помощь!
Редактировать:Извините всех, кто дал мне предложения по суммированию и объединению, но я проголосовал за эти ранние ответы, потому что они в любом случае полезны.И Спасибо всем за ваши невероятно быстрые ответы!
Решение
Хорошо, логично, и вы можете сделать
Select (payment1_paid && payment2_paid) as paid_in_full
from denormalized_payments
where payment1_type = 'check';
Как видно здесь . р>
Другие советы
Просто сделай
Select CONCAT(payment1_paid, payment2_paid) as paid_in_full
from denormalized_payments
where payment1_type = 'check';
Вы можете указать любое количество полей. Р>
Если под объединением вы имеете в виду объединение, то это будет работать:
select concat(payment1_paid, payment2_paid) as paid_in_full
from denormalized_payments where payment1_type = 'check';
Если под объединением вы имеете в виду добавление, то это должно работать:
select payment1_paid + payment2_paid as paid_in_full
from denormalized_payments where payment1_type = 'check';
[РЕДАКТИРОВАТЬ]
Для логического И:
select payment1_paid && payment2_paid as paid_in_full
from denormalized_payments where payment1_type = 'check';
Я не уверен, но вы хотите объединить?
SELECT CONCAT(ColumnA, ColumnB) AS ColumnZ
FROM Table
ВЫБРАТЬ ЕСЛИ (payment1_paid = 1 И payment2_paid = 1, 1, 0) AS paid_in_fill
select (payment1_paid && payment2_paid) as paid_in_full
from denormalized_payments where payment1_type = 'check';