Come posso fare la logica booleana su due colonne in MySQL?
Domanda
Voglio fare una selezione in MySql che combina diverse colonne ... qualcosa di simile a questo pseudocodice:
SELECT payment1_paid AND payment2_paid AS paid_in_full
FROM denormalized_payments
WHERE payment1_type = 'check';
Modifica : payment1_paid e payment2_paid sono booleani.
Non posso usare nessun'altra lingua per questo problema specifico di MySql.
Grazie per l'aiuto!
Modifica : mi dispiace per tutti coloro che mi hanno dato suggerimenti per la sintesi e il concatenamento, ma ho votato quelle prime risposte perché sono comunque utili. E grazie a tutti per le vostre risposte incredibilmente veloci!
Soluzione
Ok, per logica e puoi fare
Select (payment1_paid && payment2_paid) as paid_in_full
from denormalized_payments
where payment1_type = 'check';
Come visto qui .
Altri suggerimenti
Basta
Select CONCAT(payment1_paid, payment2_paid) as paid_in_full
from denormalized_payments
where payment1_type = 'check';
Puoi concedere qualsiasi numero di campo desideri.
Se per combinazione intendi concatenato, allora funzionerà:
select concat(payment1_paid, payment2_paid) as paid_in_full
from denormalized_payments where payment1_type = 'check';
Se per combinazione vuoi dire aggiungi, allora dovrebbe funzionare:
select payment1_paid + payment2_paid as paid_in_full
from denormalized_payments where payment1_type = 'check';
[EDIT]
Per booleano AND:
select payment1_paid && payment2_paid as paid_in_full
from denormalized_payments where payment1_type = 'check';
Non sono sicuro ma intendi concatenare?
SELECT CONCAT(ColumnA, ColumnB) AS ColumnZ
FROM Table
SELEZIONA SE (payment1_paid = 1 AND 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';