Это то, что вы передаете 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')"
Хорошо, для логического и можно сделать
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';
Вы можете concat любое количество поля, которое Вы хотите.
Если объединением Вы имеете в виду, конкатенируют затем, это будет работать:
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
SELECT IF(payment1_paid = 1 AND payment2_paid = 1, 1, 0) AS paid_in_fill
Если Строки (или Вы хотите рассматривать как Строки столбцы, которые Вы хотите объединить), можно использовать CONCAT и CONCAT_WS.Удачи!
select (payment1_paid && payment2_paid) as paid_in_full
from denormalized_payments where payment1_type = 'check';