nicnilov
6/16/2015 - 5:12 PM

SQL representation

SELECT "customers".* 
  FROM ( 
    SELECT "customers".* 
      FROM "customers"  
      WHERE "customers"."company_id" = $1 
        AND (
          NOT (
            EXISTS (
              SELECT "import_logs".* 
                FROM "import_logs"  
                WHERE "import_logs"."importable_type" = 'Customer' 
                  AND "import_logs"."importable_id" = "customers"."id" 
                  AND "import_logs"."remote_type" = 'account'
            )
          )
        ) 
      UNION 
        SELECT "customers".* 
          FROM "customers" 
          INNER JOIN "import_logs" 
            ON "import_logs"."importable_id" = "customers"."id" 
              AND "import_logs"."importable_type" = 'Customer' 
          WHERE "customers"."company_id" = $1 
            AND "import_logs"."importable_type" = 'Customer' 
            AND "import_logs"."remote_type" = 'account' 
            AND "import_logs"."status" = 'pending' 
  ) "customers"