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!

È stato utile?

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

Se sono stringhe (o vuoi trattare come stringhe le colonne che vuoi combinare) puoi usare CONCAT e CONCAT_WS . Buona fortuna!

select (payment1_paid && payment2_paid) as paid_in_full
from denormalized_payments where payment1_type = 'check';
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top