0
레일에서 IFNULL에 값을 받고 있지 않다 것은왜 내가 쿼리를 가지고
Name.find_by_sql(['SELECT IFNULL(users.last_name, "nil") FROM users JOIN user_groups ON user_groups.user_id = users.id JOIN groups ON groups.id = user_groups.grous_id WHERE users.first_name IN (?)', ['Sam','Sally']]) AND groups.name='baseball'
지금 샘 야구 그룹에 (이 여기에 아주 긴하지만 그것의 요점이다)하지만, 샐리 아니다. 나는 내가 돌아올 것이라는 희망
는 (샘의 성 힐입니다)
['Hill','nil']
하지만 난 단지 [ '힐'] 얻고있다. 나는 왜 'nil'이 반환되지 않았는지 잘 모르겠습니다. 나는 각각의 join 문에서 'LEFT OUTER JOIN'을 시도했다. 아마도 'nil'이 없어지는 곳이라고 생각 했으므로 하나의 항목 만 리턴한다.
이 방법의 일부가 될 것 같다 단, 불행히도 야구 그룹에 속하지 않은 모든 사용자가 다시 돌아오고 있으며 'IN'문에서 해당 사용자 만 되돌려려고합니다. 또한 'RIGHT OUTER JOIN'을 사용할 때 모든 사용자를 다시 가져옵니다. JOIN 만 사용하면 'Hill'만받습니다. – pedalpete
모든 사용자가 다시 돌아 오면 users.first_name 필터가 ' 올바르게 적용되지 않습니다. 불행히도, 나는 당신이 사용하고있는 구문에 익숙하지 않다. 아마도'users.first_name IN ('Sam', 'Sally') 하드 코딩을 시도하여 쿼리 자체가 아니라 문제를 일으키는 앱인지 확인하십시오. –
아, 네, 맞습니다. 감사합니다 – pedalpete