MySQL, Perl
Следующий select отлично работает без заполнителей, но не с заполнителями. Он не генерирует никаких ошибок SQL, но возвращает все пробелы / нули - не то же количество, что и тот же оператор без заполнителей.
my $sql="SELECT ?, SUM(IF(H1='1',1,0)) AS banner1 FROM table_name WHERE (?!='' and ? IS NOT NULL) GROUP BY ?";
my $sth = $dbh->prepare($sql);
my $variable = "Q1";
$sth->execute($variable, $variable, $variable, $variable);
Что я делаю не так?
Я пытаюсь использовать заполнители не по назначению? Это работает, когда я использую только заполнители в предложении WHERE. Он не работает, когда я использую заполнитель в предложении SELECT или GROUP BY. В этом ли проблема - заполнители можно использовать только в предложении WHERE?