Avatar billede mhv Praktikant
13. januar 2003 - 12:12 Der er 11 kommentarer og
1 løsning

SQL string ??

Jeg har to tabels tabela og tabelb.

tabela:
ID
navn

tabelb:
ID
tabela_ID
ref

nu vil jeg gerne lave en liste over alle poster i tabela, men der hvor tabela.ID indgår i tabelb.tabela_ID skal der sættes et flag.


hvordan gøres det ?
Avatar billede mhv Praktikant
13. januar 2003 - 12:13 #1
koden skal laves i php.
Avatar billede mortvader Nybegynder
13. januar 2003 - 12:28 #2
eller asp
Avatar billede disky Nybegynder
13. januar 2003 - 12:43 #3
Hele listen:
select * from tabela:

de der skal markere:
Select tabela.*,tabelb.* from tabela,tabelb where tabela.ID=tabelb.tabela_ID

p.s. spørgmål om programmering skal stille i de respektive sprogs grupper :)
Avatar billede mhv Praktikant
13. januar 2003 - 13:01 #4
ikke asp !

hvis jeg gør som disky siger får jeg ikke listet hele tabela, men kun de poster som også findes i tabelb, det var ikke det jeg ville.

jeg skal have hele tabela listet, men sat et flag ved de poster hvor tabela.ID findes i tabelb.tabela_ID
Avatar billede disky Nybegynder
13. januar 2003 - 13:47 #5
Den første select giver dig alle posterne i tabela, den anden select fortæller dig hvilke der er nævnt i tabelb også.

Du laver altså din liste ud fra første query, og markere dem som er nævnt i query 2.
Avatar billede mhv Praktikant
13. januar 2003 - 13:58 #6
jeg vil gerne have det kogt ned til en sql string.

hvis jeg gør som du siger kommer min kode til at se sådanne ud,
eskempel:

select tabela.nevn from tabel a
loop
  {
  vis tabela.navn
  IDCode = tabela.ID
  if(select tabela.*,tabelb.* from tabela,tabelb where IDCode=tabelb.tabela_ID)
    {
    vis tabelb.ref
    }
  }

hvis min tabela består at 100 poster bliver der lavet 101 sql kald, det er vel ikke så smart.
Avatar billede mhv Praktikant
13. januar 2003 - 14:40 #7
jeg smider 200 point i det rigtige svar
Avatar billede mhv Praktikant
13. januar 2003 - 14:42 #8
mortvader hvordan ville du gøre i asp ??
Avatar billede mhv Praktikant
13. januar 2003 - 22:29 #9
kan inge hjælp ??
Avatar billede proaccess Nybegynder
14. januar 2003 - 12:07 #10
SQL:
SELECT TabelA.*, Max(TabelB.ID) Flag FROM TabelA LEFT JOIN TabelB ON TabelA.ID=TabelB.TabelA_ID;

ASP/PHP-delen må du selv klare...  ;-)
Avatar billede proaccess Nybegynder
14. januar 2003 - 12:22 #11
Undskyld jeg glemte lige GROUP BY...

SELECT TabelA.ID, TabelA.Navn, Max(TabelB.ID) Flag
FROM TabelA LEFT JOIN TabelB ON TabelA.ID=TabelB.TabelA_ID
GROUP BY TabelA.ID, TabelA.Navn;
Avatar billede mhv Praktikant
14. januar 2003 - 13:36 #12
jeg takker for hjælpen
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