Как я могу сделать булеву логику на двух столбцах в MySQL?

Это то, что вы передаете dbGetQuery:

paste("select date,amount from table where id in ('", d,"')")
 [1] "select date,amount from table where id in (' u ')" "select date,amount from table where id in (' i ')"
 [3] "select date,amount from table where id in (' s ')" "select date,amount from table where id in (' t ')"
 [5] "select date,amount from table where id in (' k ')" "select date,amount from table where id in (' l ')"
 [7] "select date,amount from table where id in (' y ')" "select date,amount from table where id in (' v ')"
 [9] "select date,amount from table where id in (' n ')" "select date,amount from table where id in (' z ')"
[11] "select date,amount from table where id in (' b ')"

Вам нужно «свернуть» переменную d, чтобы получить что-то вроде ('value1', 'value2', ...) :

sprintf("select date, amount from table where id in ('%s')", paste(d, collapse = "', '"))
[1] "select date, amount from table where id in ('u', 'i', 's', 't', 'k', 'l', 'y', 'v', 'n', 'z', 'b')"
5
задан Fleury26 15 December 2017 в 17:45
поделиться

7 ответов

Хорошо, для логического и можно сделать

Select (payment1_paid && payment2_paid) as paid_in_full 
from denormalized_payments 
where payment1_type = 'check';

Как замечено здесь.

4
ответ дан 14 December 2019 в 01:20
поделиться

Просто сделайте

Select CONCAT(payment1_paid, payment2_paid) as paid_in_full 
from denormalized_payments 
where payment1_type = 'check';

Вы можете concat любое количество поля, которое Вы хотите.

2
ответ дан 14 December 2019 в 01:20
поделиться

Если объединением Вы имеете в виду, конкатенируют затем, это будет работать:

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';
2
ответ дан 14 December 2019 в 01:20
поделиться

Я не уверен, но Вы означаете конкатенировать?

SELECT CONCAT(ColumnA, ColumnB) AS ColumnZ
FROM Table
1
ответ дан 14 December 2019 в 01:20
поделиться

SELECT IF(payment1_paid = 1 AND payment2_paid = 1, 1, 0) AS paid_in_fill

0
ответ дан 14 December 2019 в 01:20
поделиться

Если Строки (или Вы хотите рассматривать как Строки столбцы, которые Вы хотите объединить), можно использовать CONCAT и CONCAT_WS.Удачи!

0
ответ дан 14 December 2019 в 01:20
поделиться
select (payment1_paid && payment2_paid) as paid_in_full
from denormalized_payments where payment1_type = 'check';
0
ответ дан 14 December 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: