Задавайте вопросы, мы ответим
Вы не зашли.
Привет. Помогите пожалуйста соединить два запроса, каждый из них работает по отдельности, но вместе:
duplicate column name "zipcode_id"
причину нагуглил, это поле есть в обоих таблицах и выходит путаница из какой именно брать, но предложенные решения воплотить на своем запросе не получаеться, не хватает опыта, что-то не так делаю, это только часть запроса, но ошибка именно тут:
(SELECT * FROM
( (SELECT * FROM jobs AS j LEFT JOIN zipcode AS z ON z.zipcode_id=j.zipcode_id WHERE 1 AND source='student'
ORDER BY postdate DESC LIMIT 20) ORDER BY search_order DESC )
s1)
UNION ALL
(SELECT * FROM
( (SELECT * FROM jobs AS j LEFT JOIN zipcode AS z ON z.zipcode_id=j.zipcode_id WHERE 1 AND source='teacher'
ORDER BY postdate DESC LIMIT 30, 1000000) ORDER BY postdate DESC )
s2)
Неактивен
В приведенной части ошибки нет. Покажите полностью запрос.
Неактивен
по отдельности они оба работают и возвращают правильную выборку, вместе нет, вот весь
(SELECT * FROM
( (SELECT * FROM jobs AS j LEFT JOIN zipcode AS z ON z.zipcode_id=j.zipcode_id WHERE 1 AND (6378 * acos(sin(radians(X(z.zipcode_geo)))
* sin(radians(X((SELECT zipcode_geo FROM zipcode WHERE 1 AND zipcode_id=8011)))) + cos(radians(X(z.zipcode_geo)))
* cos(radians(X((SELECT zipcode_geo FROM zipcode WHERE 1 AND zipcode_id=8011))))
* cos(radians(Y((SELECT zipcode_geo FROM zipcode WHERE 1 AND zipcode_id=8011))) - radians(Y(z.zipcode_geo)))) < 150)
AND source='student'
ORDER BY postdate DESC LIMIT 20) ORDER BY search_order DESC )
s1)
UNION ALL
(SELECT * FROM
( (SELECT * FROM jobs AS j LEFT JOIN zipcode AS z ON z.zipcode_id=j.zipcode_id WHERE 1 AND (6378 * acos(sin(radians(X(z.zipcode_geo)))
* sin(radians(X((SELECT zipcode_geo FROM zipcode WHERE 1 AND zipcode_id=8011)))) + cos(radians(X(z.zipcode_geo)))
* cos(radians(X((SELECT zipcode_geo FROM zipcode WHERE 1 AND zipcode_id=8011))))
* cos(radians(Y((SELECT zipcode_geo FROM zipcode WHERE 1 AND zipcode_id=8011))) - radians(Y(z.zipcode_geo)))) < 150)
AND source='teacher'
ORDER BY postdate DESC LIMIT 30, 1000000) ORDER BY postdate DESC )
s2)
Неактивен
ickyman написал:
по отдельности они оба работают и возвращают правильную выборку, вместе нет,
Это не так. Выполните первую часть запроса, чтобы убедиться в этом:
Неактивен
все, сделал, моя ошибка, спасибо
Отредактированно ickyman (06.10.2011 17:20:44)
Неактивен