Zdravím vespolek, snažím se snažím, ale už nevím jak dál.. Mám tabulku, v ní záznamy s ID které je jedinečné. V druhé tabulce mám v prvním sloupci ID z předchozí tabulky a navíc 3 sloupce, s tím, že v jednom je datum. Potřeboval bych ke každému záznamu tabulky 1 vybrat jeden záznam z tabulky 2,(popřípadě NULL pokud žádný není) s maximálním datem a ostatními údaji které s tímto datumem jsou v řádku. Jediné co se mi povedlo je buď, více totožných záznamů tabulky 1 a oba záznamy z tabulky 2, nebo slátaninu tabulky 2 (jedna hodnota z řádku 1, druhý sloupec hodnota z řádku 2) Slátanina: SELECT TableAll.Number, TableAll.IDNumber, TableAll.DepartmentNoImplementation, MAX(TableChangeStatus.Status) AS Status, MAX(TableChangeStatus.IDWhoHandedItOver) AS IDWhoHandedItOver, MAX(TableChangeStatus.IDWhomItWasHandedOver) AS IDWhomItWasHandedOver, MAX(TableChangeStatus.DateChanges) AS DateChanges FROM TableAll LEFT OUTER JOIN TableChangeStatus ON TableAll.Number = TableChangeStatus.Number GROUP BY TableChangeStatus.Number, TableAll.Number, TableAll.IDNumber, TableAll.DepartmentNoImplementation Oba záznamy: SELECT TableAll.Number, TableAll.IDNumber, TableAll.DepartmentNoImplementation, TableChangeStatus.Status, TableChangeStatus.IDWhoHandedItOver, TableChangeStatus.IDWhomItWasHandedOver, TableChangeStatus.DateChanges FROM TableAll LEFT OUTER JOIN TableChangeStatus ON TableAll.Number = TableChangeStatus.Number GROUP BY TableChangeStatus.Number, TableAll.Number, TableAll.IDNumber, TableAll.DepartmentNoImplementation, TableChangeStatus.DateChanges, TableChangeStatus.IDWhomItWasHandedOver, TableChangeStatus.IDWhoHandedItOver, TableChangeStatus.Status Doufám že to někdo pochopí :-( Pokud nechám z druhé tabulky pouze datum, je vše OK. Ještě doplním, že je to SQL DB v ASP.NET. S díky Karel
|