SQL querytje??

Pagina: 1
Acties:

  • _.Luke._
  • Registratie: September 2001
  • Laatst online: 26-07-2021
ik heb twee tabellen...
table maintable en projects...
nu wil ik van de tabel projecten het id selecteren (naam = ID) maar dat ID mag niet voorkomen in de maintable rij ProjectID...

voorbeeld:
projects bevat in de rij ID: 1,2,3,4,5
maintable bevat in de rij ProjectID 2,2,3,3,3,3,4

nu moet de query 1 en 5 teruggeven....

Hoe doe ik dit met 1 enkele query?

Trying is the first step towards faillure...


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 30 oktober 2001 13:12 schreef _.Luke._ het volgende:
Hoe doe ik dit met 1 enkele query?
code:
1
2
3
4
5
6
select 
  id 
from 
  projects 
where 
  id not in (select id from maintable)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
je hebt het niet over mysql, dus ik neem maar aan dat jouw versie sub-selects ondersteunt

SELECT id FROM projecten WHERE id NOT IN (SELECT DISTINCT id FROM maintable)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 30 oktober 2001 13:17 schreef marcusk het volgende:
je hebt het niet over mysql, dus ik neem maar aan dat jouw versie sub-selects ondersteunt
ai,ai.. gewoon 2 minuten trager.. >:)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op dinsdag 30 oktober 2001 13:18 schreef dusty het volgende:
ai,ai.. gewoon 2 minuten trager.. >:)
lol :) maar jij hebt geen DISTINCT erbij ;)

  • _.Luke._
  • Registratie: September 2001
  • Laatst online: 26-07-2021
sorry vergeten... MySQL idd :)

klopt het dat MySQL 4 WEL sub's ondersteunt?

senks iig!!!

Trying is the first step towards faillure...


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
dat klopt idd

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 30 oktober 2001 13:21 schreef marcusk het volgende:
lol :) maar jij hebt geen DISTINCT erbij ;)
Omdat hierbij de distinct de gehele query trager zou maken. >:)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op dinsdag 30 oktober 2001 13:24 schreef dusty het volgende:
Omdat hierbij de distinct de gehele query trager zou maken. >:)
Hmmm... daar kan ik niet tegenop :'( ;)

  • _.Luke._
  • Registratie: September 2001
  • Laatst online: 26-07-2021
Maar euh. jah... die sub queries werken dus niet... hoe zou ik het dan dus alsnog op kunnen lossen?
met een join query... dacht ik maar ik kom er echt niet uit :(

Trying is the first step towards faillure...


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

2 queries ervan maken.

Waarvan de eerste het volgende zal zijn :
code:
1
select count(*) from maintable

;)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

net even over ICQ met Luke gepraat dus voor de mensen:
-- cut --
dUSTY-atwork: (3:17 PM) ik kan zo de query voor je intypen, doe ik echter lekker niet :+

je gaat een select doen over de ID van je projects, daar geef je een "(getal uit vorige query)-count(ID)" bij mee terug en je koppelt de twee tabellen waar de ID's NIET gelijk zijn.

dUSTY-atwork: (3:18 PM) betekent dat je bij de count een 0 terug krijgt als de ID NIET voorkomt in de andere tabel en als het wel voorkomt in de andere tabel krijg je een hoger getal terug.

dUSTY-atwork: (3:19 PM) als je ordert op het aantal (order by) hoef je in je script alleen maar door te lopen totdat het getal NIET meer 0 is. -- cut --

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1