Avatar billede elskermad.dk Nybegynder
26. september 2006 - 19:56 Der er 2 kommentarer og
1 løsning

Vis kun data hvis det er repræsenteret i en anden tabel

Hej Eksperter!

Jeg har brug for lidt hjælp til nogle sqls.

Jeg har følgende to tabeller:

CREATE TABLE auktion (
  id int(12) NOT NULL auto_increment,
  `status` int(1) NOT NULL default '1',
  slut int(12) NOT NULL default '0',
  PRIMARY KEY  (id)
) ENGINE=MyISAM;

CREATE TABLE auktion_bud (
  id int(12) NOT NULL auto_increment,
  auktion int(12) NOT NULL default '0',
  bruger int(12) NOT NULL default '0',
  tidspunkt int(12) NOT NULL default '0',
  bud decimal(12,2) NOT NULL default '0.00',
  PRIMARY KEY  (id)
) ENGINE=MyISAM;


Jeg vil gerne følgende ting:

1) Rækkerne i auktion skal kun vises hvis der findes en eller flere rækker i auktion_bud med auktion = auktion.id og bruger = [brugerid]

2) Rækkerne i auktion skal kun vises hvis der findes en eller flere rækker i auktion_bud med auktion = auktion.id og bruger = [brugerid] og der findes mindst én række i auktion_bud hvis værdi i auktion_bud.bud er højere med samme auktionsid og ikke samme bruger

3) Modsat 2) - Her skal de kun vises hvis der ikke findes nogle bud der er højere


Håber nogen kan hjælpe mig, og kan forstå hvad jeg gerne vil :)

På forhånd mange tak!
Avatar billede elskermad.dk Nybegynder
26. september 2006 - 20:56 #1
Jeg tror jeg har lyst 1) ved nedenstående sætning, men 2) og 3) er jeg stadig lost med:

SELECT auktion.* FROM auktion,auktion_bud WHERE auktion.status = 2 AND (auktion.slut > <?=$fra?> AND auktion.slut > <?=$phptime?>) AND auktion.id = auktion_bud.auktion AND auktion_bud.bruger = '<?=$brugerid?>' GROUP BY auktion.id ORDER BY auktion.slut ASC
Avatar billede elskermad.dk Nybegynder
26. september 2006 - 20:57 #2
lyst = løst

også glemte jeg at spørge om den ikke kan optimeres, eller er det ikke altid ineffektiv at have lange sql-sætninger?
Avatar billede elskermad.dk Nybegynder
26. september 2006 - 21:11 #3
har lige gennemtænkt at mine beskrivelser ikke er gode nok... åbner lige en ny tråd for at være sikker på folk arbejder med det rigtige fra start
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