1
誰かがこのクエリが構文エラーを生成している理由を知ることができますか?これは単純な広告データベースで、カテゴリーと広告が含まれています。このクエリは広告カテゴリのリストを取得しています。さらに、いくつの広告とアクティブな広告がいくつあるかをカウントします。後者は2週間を超えない広告を意味します。 PostgreSQLは言う:Postgres COUNT FILTER構文エラー - なぜですか?
構文エラーまたはその付近 "(" LINE 5:FILTER(WHERE
他COUNTだけで罰金広告.... ^に動作します私はとの問題が何得ることはありません。 FILTER句のおかげ
$data = pg_query($dbconn, 'SELECT categories.id,
categories.name,
COUNT(ads.id) AS ads_count,
COUNT(ads.id)
FILTER (WHERE ads.date > '.strtotime('-2 weeks').')
AS ads_active_count
FROM erpatak.ads_categories AS categories
LEFT JOIN erpatak.ads AS ads ON ads.category = categories.id'
.$filter.'
GROUP BY categories.id, categories.name
ORDER BY name
OFFSET '.$offset.'
LIMIT '.$maxcount);
あなたのエラーメッセージには「ads.date」はありませんが、代わりに「ads」がありますか –
ads.dateがどのようなものになっているのかわからないということですか? –
'pg_query'(変数なし)に送信されている完全なクエリ文字列を添付してください。また、あなたのPostgresサーバーのバージョンは何ですか? –