mam pierwszy stolik, w którym to policzyłem:
SELECT TYPEC ,count(TYPEC)
FROM planning_cuisson
GROUP BY TYPEC
HAVING COUNT(TYPEC) > 0
ORDER BY COUNT(TYPEC) asc
i pokaż te wartości:
i mam inną tabelę o nazwie zp01, która ma taki sam kolor jak TYPEC, który jest TYPE_CUISSON.
jak mogę uzyskać ten wynik, łącząc tabele =>
próbowałem tej Requety, ale nie działałem:
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
Odpowiedzi:
3 dla odpowiedzi № 1Będziesz musiał użyć sprzężenia w ten sposób:
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;
W wewnętrznym zapytaniu otrzymujesz te rekordy, dla których liczba typów wynosi> 0, a następnie dołączasz je zp01
tabela, aby uzyskać pożądane rekordy.