2014-09-02 2 views
1

я есть первая таблица, где я сделал этот счет:Как присоединиться к таблице с другой, которая имеет счет?

SELECT TYPEC ,count(TYPEC) 
FROM planning_cuisson 
GROUP BY TYPEC 
HAVING COUNT(TYPEC) > 0 
ORDER BY COUNT(TYPEC) asc 

и показать эти значения:

enter image description here

и у меня есть другой таблицы с именем zp01, которые имеют Colonne же, как TYPEC Это TYPE_CUISSON ,

enter image description here

, как я могу получить этот результат с соединением между таблицами => enter image description here

я судимым это requette, но не работали:

SELECT * 
FROM planning_cuisson p1, zp01 p2 
WHERE p2.type_cuisson=p1.typec 
GROUP BY p1.TYPEC 
HAVING COUNT(p1.TYPEC) > 0 
ORDER BY COUNT(p1.TYPEC) asc 
+0

Советую вам использовать «современные» соединения, как здесь: http://www.w3schools.com/sql/sql_join.asp –

ответ

3

Вы должны использовать присоединиться как это:

SELECT p2.*, p1.cnt_typec 
FROM zp01 p2 
JOIN (
    SELECT TYPEC, count(TYPEC) AS cnt_typec 
    FROM planning_cuisson 
    GROUP BY TYPEC 
    HAVING COUNT(TYPEC) > 0 
) p1 
WHERE p2.type_cuisson = p1.typec 
ORDER BY cnt_typec ASC; 

Во внутреннем запросе вы получаете те записи, для которых число typec равно> 0, а затем присоединяйте эти записи с помощью таблицы zp01, чтобы получить нужные записи.

+0

Это работает благодарю вас за ответ. чокран. – marouanoviche

+0

вы можете перевести этот sql на jpql, я попробовал, но я не смог http://stackoverflow.com/questions/25623376/how-to-translate-sql-query-to-jpql-query – marouanoviche

+0

@marouanoviche, к сожалению, у меня нет опыта с jpql –

Смежные вопросы