2017-01-27 10 views
0

Я пытаюсь запустить простой запрос соединения с использованием sqoop. Ниже приведен запрос.sql simple join using sqoop

sqoop import --connect jdbc:mysql://localhost:3306/retail_db --username root -P --query 'select d.department_name,c.category_name from departments d join categories c on d.department_id = c.category_department_id group by d.department_name,c.category_name where $CONDITIONS' --target-dir /sqoop26 -m 1 

Но я столкнулся с приведенной ниже ошибкой.

ERROR manager.SqlManager: Error executing statement: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where (1 = 0)' at line 1 

Тот же запрос соединения работает нормально в mysql.

ответ

0

У вас есть ошибка в вашем sql-синтаксисе. Используйте whereconditions перед группе как этот

select d.department_name,c.category_name from departments d join categories c on d.department_id = c.category_department_id where $CONDITIONS group by d.department_name,c.category_name 

или

select * from (
select d.department_name,c.category_name from departments d join categories c on d.department_id = c.category_department_id 
group by d.department_name,c.category_name 
) t where $CONDITIONS 
+0

о человек !! я не думал о $ УСЛОВИЯХ, является частью предложения where и помещен как последний вариант .... Спасибо !!!! –