Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Oracle SQL - tak trochu patálie

Ahoj,

měl bych jednu potíž k rozlousknutí a tato poradna mě zatím nezklamala.
Primárně jde o Oracle SQL. Můj popis vypadá delší, ale nechci opomenout žádný detail nutný k rozlousknutí rébusu. :-)

Řekněmě, že mám tyhle údaje o právech konkrétního uživatele v aplikaci (MGEO):
[http://pc.poradna.net/file/view/20344-opravneni-jp g]
A k tomu by se měly vztahovat tyhle tabulky, které mezi sebou mají vazby:
[http://pc.poradna.net/file/view/20345-tabulky-jpg]

No a já jsem mezi těma tabulkama udělal tenhle SQL (Oracle) dotaz:

SELECT *
FROM uzivatele uza
LEFT JOIN opravneni op
ON uza.id = op.uzivatel_ID
left JOIN Prava pr
ON op.aplikace = pr.aplikace
left JOIN prava_role
ON pr.id = prava_role.pravo_id

ORDER BY uzivatel_ID, ROLE_ID

Výsledek tohoto dotazu přikládám ZDE.
Jedná se o aplikaci MGEO (ostatní řádky pro jiné aplikace je možno ignorovat).

Problémy mám tedy dva:
- Jak vytvořit dotaz, jehož výsledek odpovidá první tabulce (jen pro MGEO)?
- Jak vytvořit dotaz, který bude zobrazovat pouze nejaktuálnější stav? -
Poněvadž tabulka obsahuje i historii, ale mě zajímá jen nejaktuálnější záznam.

Zkoušel jsem do dotazu doplnit něco jako:
WHERE create_date = max (create_date)

ale za to mě zhouká:

Group function is not allowed here...
V úvahu připadá i varianta, že jsem netrefil správně vazby.
Nemohu se totiž vyznat v první uváděné tabulce aplikace a výstupu skriptu.
Dokumentaci bohužel nemám.

Díky!

Předmět Autor Datum
Nenašly se žádné odpovědi.

Zpět do poradny Odpovědět na původní otázku Nahoru