Wie kann ich Boolesche Logik auf zwei Spalten in MySQL?
Frage
Ich mag ein select in MySql tun, dass mehrere Spalten ... so etwas wie dieser Pseudo-Code kombiniert:
SELECT payment1_paid AND payment2_paid AS paid_in_full
FROM denormalized_payments
WHERE payment1_type = 'check';
Bearbeiten : payment1_paid und payment2_paid ist booleans
.Ich kann keine andere Sprache für dieses spezielle Problem als MySql verwenden.
Vielen Dank für jede Hilfe!
Bearbeiten : Sorry an alle, die mir Vorschläge gab zum Summieren und verketten, aber ich gestimmt habe diese frühen Antworten, weil sie ohnehin sinnvoll sind. Und durch , um alle für die unglaublich schnelle Antworten!
Lösung
Ok, für die logische und Sie tun können,
Select (payment1_paid && payment2_paid) as paid_in_full
from denormalized_payments
where payment1_type = 'check';
Wie man sehen hier .
Andere Tipps
Just do
Select CONCAT(payment1_paid, payment2_paid) as paid_in_full
from denormalized_payments
where payment1_type = 'check';
Sie können eine beliebige Anzahl von Feld verketten Sie wollen.
Wenn durch kombinieren Sie bedeuten verketten dann wird diese Arbeit:
select concat(payment1_paid, payment2_paid) as paid_in_full
from denormalized_payments where payment1_type = 'check';
Wenn durch kombinieren Sie hinzufügen meinen, dann sollte diese Arbeit:
select payment1_paid + payment2_paid as paid_in_full
from denormalized_payments where payment1_type = 'check';
[EDIT]
Für boolean AND:
select payment1_paid && payment2_paid as paid_in_full
from denormalized_payments where payment1_type = 'check';
Ich bin nicht sicher, aber meinst du verketten?
SELECT CONCAT(ColumnA, ColumnB) AS ColumnZ
FROM Table
SELECT IF(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';