sql
  • activerecord
  • arel
  • 2013-03-11 3 views 0 likes 
    0
    내가 이런 일을하려고하고

    에 가입하지만 난 당신이 내부 조인과 함께이 작업을 수행 할 수 있는지 확실하지 않다 : 도움을SQL 내부 쿼리

    SELECT "scores".* 
    FROM "scores" 
        INNER JOIN "games" ON "games"."id" = "scores"."games_id" 
    WHERE 
        "games"."date" >= '2013-02-11 19:30:11.799227' 
    AND "scores".value > 350; 
    

    감사합니다. 또한 ActiveRecord/arel 문을 작성하는 방법을 알고 있으면 도움이되는 쿼리가 제공됩니다.

    내 모델은 다음과 같이 :

    class Score < ActiveRecord::Base 
        belongs_to :game 
        delegates :date, to: game 
    end 
    
    class Game < ActiveRecord::Base 
        has_many :scores, dependent: :destroy 
    end 
    
    +1

    SQL 구문은 정상적으로 작동하므로 올바르게 작동해야합니다. 테스트 해 봤어? –

    +1

    "ActiveRecord/arel"진술은 무엇을 의미합니까? –

    +0

    @DavidW, 그는 루비 레일에서 일반적으로 사용되는 관계형 대수 쿼리에 대해 이야기하고 있습니다. –

    답변

    0

    액티브 쿼리는 다음과 같이 보일 것이다 :

    some_date = DateTime.parse('2013-02-11 19:30:11.799227') 
    score = 350 
    Score.joins(:game). 
         where("games.date >= ? AND scores.value > ?", some_date, score) 
    

    이것은 당신이 당신의 점수 모델에 belongs_to :game 있다고 가정합니다.

    +0

    이것은 보이지 않습니다. 'PG :: Error Error : 테이블'게임 '에 대한 FROM 절 항목이 누락되었습니다. – trev9065

    +0

    @ trev9065 :'Game' 모델이 있습니까?'Workout'은 무엇입니까? – PinnyM

    +0

    미안하지만 오타였습니다. – trev9065

     관련 문제

    • 관련 문제 없음^_^