我想了解爲什麼我在使用postgresql的Rails應用程序上的ruby上沒有收到任何記錄。這是正在執行的SQL查詢:Where子句按「ANY」過濾 - 這是什麼意思?
SELECT g.program_id, g.title,
COALESCE(COUNT(pr), 0) AS ac, g.default
FROM groups AS g
LEFT OUTER JOIN memberships AS m ON m.group_id = g.id
LEFT OUTER JOIN progresses AS pr ON m.id = pr.participant_id
AND (pr.status = 'completed')
WHERE g.program_id = ANY(@1)
GROUP BY g.id
ORDER BY g.program_id, g.position, g.id
我的問題是:ANY(@1)
是什麼意思?
請有pacience,因爲我是一個ruby/rails/postgresql新手。
謝謝!
更新:添加了一些aditional代碼。因爲它已經在上面進行了創建,所以請不要在下面進行查詢。
class StatsComponents::CompletedActivitiesPerGroupStats
include StatsComponent::Interface
GROUP_ACTIVITIES = <<-SQL
g.program_id, g.title, COALESCE(COUNT(pr), 0) AS ac, g.default
FROM groups AS g
LEFT OUTER JOIN memberships AS m ON m.group_id = g.id
LEFT OUTER JOIN progresses AS pr ON m.id = pr.participant_id
AND (pr.status = 'completed')
WHERE g.program_id = ANY(@1)
GROUP BY g.id
ORDER BY g.program_id, g.position, g.id
SQL
def generate
...
你能展示生成這個查詢的代碼嗎? – lx00st
該查詢在代碼中完全按照這種方式編寫(減去在此計算器中的格式)。增加了一些額外的代碼,但不要認爲它比我已經發布的更有幫助。 –
好吧,它是如何執行的?看起來像'gsub' token – lx00st