Avatar billede draeber Nybegynder
01. november 2003 - 11:28 Der er 2 kommentarer og
1 løsning

Hvilken select skal jeg bruge?

Hej jeg sidder og roder med at kombinere to tabeller, men jeg kan ikke rigtigt finde ud af, hvordan jeg får gjort det rigtigst... egentlig ville jeg gerne kunne bruge et select noget alá: select (distinct aid) as aid, dato, haendelse;

Men den virker jo ikke.

Problemet er at jeg skal kombinere tabellen med en anden, således at jeg får en overskrift, sidsteaendringsdato og den sidste haendelse på et udtræk.

Den ene tabel giver det her

web=> select * From historik order by aid, dato desc;
aid |            dato            |                    haendelse                   
-----+----------------------------+---------------------------------------------------
  2 | 22.10.2003 18:13:10.268566 | Artikel redigeret af Martin Madsen
  2 | 17.10.2003 15:13:17.167287 | kukuk
  2 | 03.10.2003 14:04:09.833516 | Artikel redigeret af Martin Madsen
  3 | 17.10.2003 12:32:23.791431 | Artikel redigeret af Martin Madsen
  3 | 06.10.2003 09:32:31.512613 | Artikel redigeret af Martin Madsen
  8 | 19.11.2003 00:00:00        | Har snakket med Mads
  8 | 23.10.2003 14:06:15.286358 | Artikel redigeret af Martin Madsen
  8 | 23.10.2003 14:04:07.913663 | Artikel redigeret af Martin Madsen
  8 | 17.10.2003 12:35:41.684198 | Artikel redigeret af Martin Madsen
  8 | 17.10.2003 12:35:18.981375 | Artikel redigeret af Martin Madsen
  8 | 17.10.2003 12:34:01.057974 | Artikel redigeret af Martin Madsen
  8 | 06.10.2003 16:05:31.763049 | Artikel redigeret af Martin Madsen
  9 | 17.10.2003 12:55:06.643524 | Artikel redigeret af Martin Madsen
  9 | 06.10.2003 16:11:19.78105  | Artikel redigeret af Martin Madsen
  13 | 22.10.2003 18:13:41.68734  | Har snakket med George, vigtig kilde til artiklen
  13 | 09.10.2003 19:34:15.827622 | Artikel redigeret af Martin Madsen

Det er denne jeg ikke kan finde ud af. Jeg skal kun bruge den nystes haendelse for hver enkelt artikel (aid)
Avatar billede uffe_kld Nybegynder
01. november 2003 - 12:39 #1
Prøv:

SELECT aid, First(dato) AS dato, First(haendelse) AS haendelse
FROM historik
GROUP BY aid
ORDER BY aid,dato desc;

eller

SELECT aid, First(dato) AS dato, First(haendelse) AS haendelse
FROM historik
GROUP BY aid
ORDER BY aid,first(dato) desc;


Hilsen
Uffe
Avatar billede draeber Nybegynder
01. november 2003 - 12:50 #2
Jeg kan ikke bruge First i min postgresql!

Den siger flg:
ERROR:  Function first(text) does not exist
        Unable to identify a function that satisfies the given argument types
        You may need to add explicit typecasts

og også:
ERROR:  Function first(timestamp without time zone) does not exist
        Unable to identify a function that satisfies the given argument types
        You may need to add explicit typecasts
Avatar billede draeber Nybegynder
01. november 2003 - 13:52 #3
Har selv fundet en løsning:

Benytter mig af disse to vies, hvor jeg så henter de data, jeg skal bruge fra det sidste:

                                                                                max(dato) AS dato
                                                                    FROM historik
                                                                    GROUP BY aid
                                                                    ORDER BY aid;

CREATE VIEW sidstefemartiklermedhistorikview AS SELECT artikler.aid,
                                                                    artikler.bid,
                                                                      kaldenavn,
                                                                      fornavn,
                                                                      efternavn,
                                                                    overskrift,
                                                                      sidstehistorikview.dato,
                                                                    haendelse
                                                          FROM sidstehistorikview,
                                                                brugere,
                                                                artikler,
                                                                historik
                                                          WHERE artikler.aid = sidstehistorikview.aid AND
                                                                      artikler.bid = brugere.bid AND
                                                                      historik.dato = sidstehistorikview.dato
                                                          ORDER BY aid DESC, dato DESC;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester