Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem SQL Firebird dotaz na kravinku

Uvažujme tento (Firebird) SQL dotaz:

 select cast(lsd.OrdNumber as integer), fi.Name,    ib_decodedate_day(lsd.Docdate$date) || '.' || ib_decodedate_month(lsd.Docdate$date) || '.' ||    ib_decodedate_year(lsd.Docdate$date),    
    lsd.id, lsd.X_ZPRACOVAL_TERMINAL from LogStoreDocuments lsd, Firms fi  , logstoredocuments2 where LogStoreDocuments2.Parent_id =  LogStoreDocuments2.id and lsd.Firm_ID = fi.ID and lsd.x_zpracoval_terminal <> 'A' and (lsd.documentType = 31 and lsd.x_uzamkl = '' OR lsd.x_uzamkl = '&C6' and Logstoredocuments2.Store_ID = '5100000101' )
   
    

Dotaz funguje ale...... !

Protože obsahuje duplicitní řádky, pokouším se je eliminovat doplněním na konec group by:

group by lsd.id

Pak na mě háže tuto chybu: Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).



To by byl první dotaz.
A druhý dotaz je, zda lsd.id je příslušné k ostatním řádkům z první tabulky ?!
Protože ty dvě tabulky nejsou spárovány pomocí left join.

Zkoušeli jsme to přes left join, ale dotaz trval neúměrně dlouho.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny