[SQL] ORDER BY kolom die niet in de SELECT staat

Pagina: 1
Acties:

  • Ruud2001
  • Registratie: November 2000
  • Laatst online: 09-09 21:15

Ruud2001

a.ka. Ruud2000

Topicstarter
Wat ik probeer te bereiken is het volgende:

Ik wil een query maken waarin ik in de SELECT alleen een ID opvraag en dan het uiteindelijke resultaat sorteren op een andere kolom, namelijk datum.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT DISTINCT ChaseCalls.CallID , ActivityDate 
FROM ChaseCalls , ChaseActivities
WHERE ChaseCalls.CallID = ChaseActivities.CallID
AND ServiceTypeCode = 'EURP'
AND ActivityCode = 'EWIP' "_
AND ActivityDate > 'jaar_vanaf'
AND ChaseCalls.CallID NOT IN " &_
    (SELECT ChaseCalls.CallID_
    FROM ChaseCalls , ChaseActivities
    WHERE ChaseCalls.CallID = ChaseActivities.CallID
    AND ServiceTypeCode = 'EURP'
    AND ActivityCode = 'EWIP'
    AND ActivityDate < 'jaar_vanaf'
ORDER BY ActivityDate

Dit is de query zoals ie nu is, maarjah ik wil het dus zo maken dat ik die ActivityDate niet in de SELECT hoef te gebruiken.

Ik gebuik M$ SQL Server 7

"Imagination is more important than knowledge" - Albert Einstein


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

dusty

Celebrate Life!

Google's antwoord op "ORDER BY a column that is not in the select"
Je krijgt EEN antwoord terug.

Het is echter WEL op te lossen. Je hebt immers sub-selects.

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


  • Ruud2001
  • Registratie: November 2000
  • Laatst online: 09-09 21:15

Ruud2001

a.ka. Ruud2000

Topicstarter
uhm... ik heb dat artikel nu toch een aantal keer grondig doorgekeken en ik snap werkelijk niet hoe ik dit op kan lossen :?

wat is nu het achterliggende idee waardoor het zou moeten gaan lukken... misschien iemand die het in een beetje duidelijke taal uit zou kunnen leggen.

"Imagination is more important than knowledge" - Albert Einstein


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

In Oracle en Postgres mag je die activitydate dan gewoon weglaten volgens mij..

Maar MSSql hapt dat zeker niet?

Is het zo erg dat die activitydate er tussen staan dan?

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 10:10
Je kunt een subselect gebruiken:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT 
    <column1>, 
    <column2>, 
    <etc.> 
FROM 
    <table1> 
WHERE 
    <primaryKey> IN
      (SELECT 
        <primaryKey> 
      FROM 
        <table1> 
      ORDER BY 
        <orderColumn>)
;

  • Ruud2001
  • Registratie: November 2000
  • Laatst online: 09-09 21:15

Ruud2001

a.ka. Ruud2000

Topicstarter
Op maandag 15 april 2002 12:10 schreef ACM het volgende:
In Oracle en Postgres mag je die activitydate dan gewoon weglaten volgens mij..

Maar MSSql hapt dat zeker niet?

Is het zo erg dat die activitydate er tussen staan dan?
Helaas mag ik die ActivityDate niet weglaten...

En het is op zich niet zo heel erg om ActivityDate erbij te hebben staan, alleen moet ik dan met ASP gaan pielen om ervoor te zorgen dat ie alleen de CallID opvraagd en in een array zet.

"Imagination is more important than knowledge" - Albert Einstein


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

dusty

Celebrate Life!

Op maandag 15 april 2002 12:12 schreef maikel het volgende:
Je kunt een subselect gebruiken:
[..]
Er is een betere subselect te maken ervoor.

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


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 15 april 2002 12:10 schreef ACM het volgende:
In Oracle en Postgres mag je die activitydate dan gewoon weglaten volgens mij..
Klopt, in Oracle is dit gewoon mogelijk.
code:
1
SELECT DISTINCT ChaseCalls.CallID , ActivityDate

Door de distinct heb je trouwens een functioneel verschil als je ActivityDate weglaat uit je select.

Is dat id niet uniek?

Who is John Galt?


  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Op maandag 15 april 2002 12:10 schreef ACM het volgende:
In Oracle en Postgres mag je die activitydate dan gewoon weglaten volgens mij..
In MySQL ook.

Rustacean


  • Ruud2001
  • Registratie: November 2000
  • Laatst online: 09-09 21:15

Ruud2001

a.ka. Ruud2000

Topicstarter
Op maandag 15 april 2002 12:39 schreef justmental het volgende:
code:
1
SELECT DISTINCT ChaseCalls.CallID , ActivityDate

Door de distinct heb je trouwens een functioneel verschil als je ActivityDate weglaat uit je select.

Is dat id niet uniek?
ARGH |:(

Hoe stom kan ik zijn... het was idd een kwestie van het weglaten van DISTINCT.

Ik heb nu DISTINCT weggehaald en dan kan ik ActivityDate ook gewoon uit de SELECT weglaten.

iig heel erg bedankt voor de hulp en wat mij betreft mag dit topic nu dicht *D

"Imagination is more important than knowledge" - Albert Einstein


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 15 april 2002 12:48 schreef Manuzhai het volgende:
In MySQL ook.
Volgens mij mag het daar juist weer niet in :)
Toch wel :)
Pagina: 1