Toon posts:

[sql] order op subselect

Pagina: 1
Acties:

Verwijderd

Topicstarter
Stel, je hebt de volgende query:
code:
1
2
SELECT iets, overig, anders FROM tabelA WHERE iets IN
  (SELECT iets FROM tabelB)

Nu wil ik dat het resultaat van de select op tabel A gesorteerd wordt op een veld uit tabel B.
Dit probeerde ik:
code:
1
2
SELECT iets, overig, anders, X.orderitem FROM tabelA WHERE iets IN
   (SELECT iets, orderitem FROM tabelB X)

Vervolgens kan je dan zo sorteren (hoopte ik):
code:
1
2
SELECT iets, overig, anders, X.orderitem FROM tabelA WHERE iets IN
   (SELECT iets, orderitem FROM tabelB X) ORDER by X.orderitem

maarja... denk maar niet dat dat werkt.
Ik heb al wat met andere oplossingen zitten prutsen, maar die willen ook niet echt lukken :(
Iemand een idee hoe je op een kolom kan sorteren die zich bevindt in de tabel van de subselect?
Owja, de DBMS is postgresql...

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

(jarig!)
Gaat zo niet lukken.
Je moet de subselect omschrijven naar een join.
Dan kan het wel.

Who is John Galt?


  • Onno
  • Registratie: Juni 1999
  • Niet online
Op maandag 08 oktober 2001 10:10 schreef brambo9000 het volgende:
Dit probeerde ik:
code:
1
2
SELECT iets, overig, anders, X.orderitem FROM tabelA WHERE iets IN
   (SELECT iets, orderitem FROM tabelB X)
Je probeert iets te selecten uit een tabel die niet bij FROM staat? Denk niet dat dat kan. En verder geldt de naam 'X' alleen maar binnen de subquery zo.
En 'IN' werkt toch alleen maar op subqueries die 1 kolom teruggeven meende ik? (en daarnaast levert die subquery hier of maar 1 row op en is het gebruik van 'IN' niet nuttig, of meerdere, maar dan kun je onmogelijk 1 'orderitem' gebruiken, omdat daar dan ook meerdere van zijn...)

Wat wil je dus precies met die query doen? :)

Verwijderd

Topicstarter
Op maandag 08 oktober 2001 10:19 schreef Onno het volgende:

[..]

Je probeert iets te selecten uit een tabel die niet bij FROM staat? Denk niet dat dat kan. En verder geldt de naam 'X' alleen maar binnen de subquery zo.
En 'IN' werkt toch alleen maar op subqueries die 1 kolom teruggeven meende ik? (en daarnaast levert die subquery hier of maar 1 row op en is het gebruik van 'IN' niet nuttig, of meerdere, maar dan kun je onmogelijk 1 'orderitem' gebruiken, omdat daar dan ook meerdere van zijn...)

Wat wil je dus precies met die query doen? :)
Tja, hij moet dus op een veld uit de subquery sorteren dat dus niet in de query voorkomt, dat kan dus ook niet op deze manier zoals je al zegt (twee velden in de subselect).
Maarja, dom dom dom.... nog helemaal niet aan een join ged8...