Toon posts:

SQL record selecteren mits niet in andere tabel

Pagina: 1
Acties:
  • 195 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb 2 tabellen in een database. Nu wil ik alle rijen van kolom A en B selecteren van tabel 1 waar kolom B niet overeenkomt met kolom B uit tabel 2.

Verwijderd

Sql voor beginners? 't hangt een beetje af van welke database je gebruikt (wat je nagelaten hebt te vermelden!)
mocht je subselects kunnen gebruiken kan je het op de volgende manier doen.
code:
1
2
3
4
5
6
SELECT A,B
FROM   TblEen
WHERE  B not in (
             SELECT distinct B 
             FROM   TblTwee
             )

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Als je RDBMS het ondersteunt kan je INTERSECT ook gebruiken

Verwijderd

Topicstarter
sorry vergeten, ik gebruik mssql 7

Verwijderd

Topicstarter
Op zondag 26 mei 2002 16:54 schreef Yarvieh het volgende:
Sql voor beginners? 't hangt een beetje af van welke database je gebruikt (wat je nagelaten hebt te vermelden!)
mocht je subselects kunnen gebruiken kan je het op de volgende manier doen.
code:
1
2
3
4
5
6
SELECT A,B
FROM   TblEen
WHERE  B not in (
             SELECT distinct B 
             FROM   TblTwee
             )
dit werkt goed maar duurt wel erg lang. Is er niet een betere manier?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zondag 26 mei 2002 19:06 schreef boriz het volgende:
dit werkt goed maar duurt wel erg lang. Is er niet een betere manier?
Zie reactie Glimi.
Substract is er geloof ik ook een die je zou kunnen proberen.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

deze zal waarschijnlijk al een stuk sneller gaan:
code:
1
2
3
4
5
6
7
select t1.A, t1.B
from   tblEen t1
where  not exists(
        select * 
        from   tblTwee t2 
        where  t2.B=t1.B
     )

Kijk anders eens in de QA waar de knelpunten van de query liggen en of je daar nog wat kan optimaliseren.

Today's subliminal thought is:


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Op maandag 27 mei 2002 08:44 schreef Annie het volgende:
deze zal waarschijnlijk al een stuk sneller gaan:
code:
1
2
3
4
5
6
7
select t1.A, t1.B
from   tblEen t1
where  not exists(
        select * 
        from   tblTwee t2 
        where  t2.B=t1.B
     )

Kijk anders eens in de QA waar de knelpunten van de query liggen en of je daar nog wat kan optimaliseren.
Bijvoorbeeld een index opnemen op kolom B in tblTwee

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

dusty

Celebrate Life!

En wat Yarvieh zei: "SQL voor beginners"
Het staat duidelijk uitgelegd in praktisch elk SQL handleiding hoe je dit "probleem" kan oplossen. (het kan zelfs op verschillende manieren!)

Je hebt in iedergeval je oplossing.

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

Pagina: 1

Dit topic is gesloten.