SOS! Count összefűzött táblákból egy lekérdezésben
Üdv!
A segítségeteket kérném a megoldásban:
Egyetlen lekérdezésben szükségem lenne egy táblázatra, ami a letárolt értékek közül group-olva (sor) és countolva (oszlop) tudok kiiratni.
A táblázatnak így kellene kinéznie:A táblák (több összefűzött id-kkel, azonosítókkal):
Törzs:kapcsolódó táblák: ahol megrendelo_kod és nev = a megrendelő azonos mezőivel ahol megrendeles_id = megr. idéjévelahol a munka id és a művelet szervezete (kateg) kerül be azonosan.
Tehát olyan összefűzött sub-select-re vagy inner join-ra lenne szükségem, hogy a kimenetben az A és P és K-s megrendelőhöz tartozó műveletek száma (!) szerepel, ahol a műveleti táblában letárolt szervezet (kateg) az s és e és c és n és k.
Nagyon köszönöm!
(Módosítottam, talán érthető)
■ A segítségeteket kérném a megoldásban:
Egyetlen lekérdezésben szükségem lenne egy táblázatra, ami a letárolt értékek közül group-olva (sor) és countolva (oszlop) tudok kiiratni.
A táblázatnak így kellene kinéznie:
| S| E | C | N | K |Összesen
A | 1 | 2 | 4 | 2 | 1 |
P | 4 | 6 | 4 | 3 | 2 |
K | 5 | 3 | 5 | 0 | 0 |
Törzs:
megrendelok [id, nev, kod, ..., koltseghely, ..., szervezet (A,P,K)]
muveletek [id, muvelet_kod, muvelet_nev, ..., szervezet (S,E,C,N,K)]
megrendelesek [id, rendelesi_szam, megrendelo_kod, megrendelo_nev, megrendelo_koltseghely, ..., lista_id]
munkak[id, megrendeles_id, munka_neve, ...]
m_tetelek[id, munka_id, tetel_kod, tetel_nev, ..., szervezet (S,E,C,N,K)]
Tehát olyan összefűzött sub-select-re vagy inner join-ra lenne szükségem, hogy a kimenetben az A és P és K-s megrendelőhöz tartozó műveletek száma (!) szerepel, ahol a műveleti táblában letárolt szervezet (kateg) az s és e és c és n és k.
megrendelo >-->> megrendeles
megrendeles >-->> munkak
munkak >-->> muveletek
Nagyon köszönöm!
(Módosítottam, talán érthető)
Mi nem megy?
pivot
Köszönöm!
Ilyen kimeneti táblát szeretnék, második napja bújom a netet,
nem for ciklusokkal html-ben kellene kirajzolnom a táblát, hanem egy osx adatbázis alapú szoftver lesz (xcode-cocoa-mamp-mysql) - ezért egy lekérdezésbe kéne fűzzem.
Próbálkozom a Pivot-tal, és subSelect-el, de valahol nem jól kötöm össze a táblákat.
A műveletek táblában vannak a kategóriák (s,k,n,c...) és a megrendelőknek is van egy kat. azonosítója (p,a,k).
A problémám, hogy a műveleteket megelőzi a munkák, a munkákat a megrendelések, és csak itt van rögzítve a megrendelő kódja (pont nem id, de mindegy, egyedi azonosító) és a subselect inner join-jában fennakadok.
Eredményül kellene kapnom, hogy a P kategóriájú megrendelőnek hány darab (count) s kategóriájú megrendelése volt, hány k kategóriájú..., ráadásul időszakra, de ott már fogok tudni szűrni.
Kérlek, segíts, ha kened a mysql-t, ha kérdésed van, csak jelezd.
Köszönöm a segítséged.
eddig ez van a legközelebb:
count(CASE h.szervezet WHEN 'sokszorosito' THEN 1 ELSE 0 END) Sokszorosító,
count(CASE h.szervezet WHEN 'e' THEN 1 ELSE 0 END) Előkészítő,
count(CASE h.szervezet WHEN 'c' THEN 1 ELSE 0 END) c,
count(CASE h.szervezet WHEN 'n' THEN 1 ELSE 0 END) n,
count(CASE h.szervezet WHEN 'k' THEN 1 ELSE 0 END) k
FROM lite_m_tetelek h
INNER JOIN lite_munkak m ON h.munka_id = m.id
INNER JOIN lite_megrendelesek s ON m.megrendeles_id = s.id
INNER JOIN megrendelok a ON s.megrendelo_kod = a.kod
GROUP BY a.szervezet
ORDER BY a.szervezet