SELECT *이 FROM (DISTINCT 작업을 선택 jobs
* 작업 FROM (jobs.user_id = 1) OR (job_requests.user_id 를 job_requests 레일 1 개 컬럼 (들)을 포함한다 = 1 AND job_requests.job_id = jobs.id) )SQL 쿼리 오류 :. 피연산자
이 SQL이 날 수 있습니다 : 나는 where 절에서 선택을 실행하면
Mysql::Error: Operand should contain 1 column(s).
그것이
작동을SELECT DISTINCT jobs.* FROM jobs, job_requests
WHERE (jobs.user_id = 1) OR
(job_requests.user_id = 1 AND job_requests.job_id = jobs.id)
누군가 내게 왜 설명 할 수 있습니까? 이 쿼리는 rails activerecord에 의해 생성되므로 기본 선택이 필요합니다.
ROR 코드 :
has_many :my_jobs, :class_name=>"Job", :finder_sql =>
'SELECT DISTINCT jobs.* ' +
'FROM jobs, job_requests ' +
'WHERE (jobs.user_id = #{id}) OR ' +
'(job_requests.user_id = #{id} AND job_requests.job_id = jobs.id AND job_requests.request_status IN ("requested", "confirmed"))'
당신이 RoR에 코드를 표시 할 수 그런 쿼리를 생성합니까? – klew
예, 나는 ror 코드도 추가했습니다. 기본적으로 나는 사용자가 소유자이고 그가 어디에 적용되는지 (job_requests를 통해 작업이 있음) 작업을 검색하려고하지만 추가 필터링을 위해 함께 사용하기를 원합니다. – dombesz