Autor Zpráva
TRX
Profil *
Ahoj ... mám v postgres poddotaz ze kterého potřebuju vycucnout jmeno_cloveka, maximalni schopnost, ale toho člověka hledám podle id z předešlé tabulky a to id nemůžu dát do tohoto selektu. Když udělám tohle tak mi to řekne že to id_cloveka neexistuje, ale jak bych to měl řešit?

...
JOIN (
     SELECT
          MAX (schopnost) as maximalni_ucinek,
          jmeno_cloveka
     FROM TRX
     GROUP BY jmeno_cloveka
) AS jmenny_seznam
ON elitni_radky.elitni = jmenny_seznam.id_cloveka;

---

ERROR:  column jmenny_seznam.id_cloveka does not exist
ŘÁDKA 44: ...                  ON elitni_radky.elitni = jmenny_seznam....

kdyžtak děkuju
Tori
Profil
Poddotaz vytvoří jakoby novou tabulku, ve které jsou jen ty sloupce, které v tom poddotazu vyberete.
TRX
Profil *
Tori:
ano, ale co s tím právě?
Tori
Profil
No přidat ten sloupec do poddotazu, abyste s ním mohl ve vnějším dotazu pracovat (předpokládám, že je to stejná tabulka).
JOIN (
     SELECT
          id_cloveka,
          MAX (schopnost) as maximalni_ucinek,
          jmeno_cloveka
     FROM TRX
     GROUP BY jmeno_cloveka
) AS jmenny_seznam
Kajman
Profil
id_cloveka je potřeba přidat i do group by
TRX
Profil *
Tori:
přidám id_cloveka do dotazu a dostanu error... proto je to problém. must appear in the GROUP BY clause or be used in an aggregate function


když ho dám do group by tak už je to nesmysl protože já potřebuju jenom skupinu jmeno_cloveka. když tam přidám id_cloveka bude tolik skupin kolik je ID takže všechny. což je nesmysl.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: