[SQL] rekenen met result waarden

Pagina: 1
Acties:

  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 17-04 22:54
Ik heb 2 verschillende queries die ieder een getal opleveren. Deze getallen wil ik delen, en nee: dat kan niet in de achterliggende code! Dus in pseudocode:

SQL:
1
2
3
SELECT a/b WHERE
a = queryA AND
b = queryB


Hoe los je dit netjes op? Ik gebruik PostgreSQL, heb al gekeken naar het declareren van variabelen, maar dat wil niet echt. Andere optie is een tijdelijke tabel, maar of dat nu zo handig is?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Heeft PostgreSQL niet iets als Stored Procedures. Daar kun je gewoon met variabelen werken.
in T-SQL zou dat er ongeveer zo uitzien denk
Transact-SQL:
1
2
3
4
5
6
7
declare @varA int
declare @varB int

set @varA = Select a from tabel
set @varB = Select b from tabel

select @varA / @varB


Een andere manier is mischien om de 2 queries te combineren tot 1 querie en dan te delen.

Verder vraag ik mij toch af waarom het niet in de achterliggende code kan?

[ Voor 17% gewijzigd door Woy op 10-01-2006 12:03 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

SQL:
1
SELECT (SELECT 28) / (SELECT 4)
levert op MSSQL het resultaat 7 op. Lukt dat onder PostgreSQL?

[ Voor 15% gewijzigd door kenneth op 10-01-2006 12:27 ]

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 17-04 22:54
Ik zat dus inderdaad aan de manier van rwb te sleutelen, maar dat wil niet echt lukken. Toen probeerde ik het op de (imho lelijke) manier van kenneth, en dat werkt inderdaad wel. Nu is het voor mijn query een prima oplossing, maar als je wat grotere zaken moet gaan behappen wordt het geheel wel een onoverzichtelijk boeltje vrees ik. Goed, tegen die tijd kijken we wel weer verder :)

  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 20:30
rwb schreef op dinsdag 10 januari 2006 @ 12:00:
Heeft PostgreSQL niet iets als Stored Procedures. Daar kun je gewoon met variabelen werken.
in T-SQL zou dat er ongeveer zo uitzien denk
Transact-SQL:
1
2
3
4
5
6
7
declare @varA int
declare @varB int

set @varA = Select a from tabel
set @varB = Select b from tabel

select @varA / @varB


Een andere manier is mischien om de 2 queries te combineren tot 1 querie en dan te delen.

Verder vraag ik mij toch af waarom het niet in de achterliggende code kan?
Probeer anders eens:
Transact-SQL:
1
2
3
4
5
6
7
declare @varA int
declare @varB int

set Select @varA=a from tabel
set Select @varB=b from tabel

select @varA / @varB

  • jsiegmund
  • Registratie: Januari 2002
  • Laatst online: 17-04 22:54
Nope het gaat al mis op dat declare deel. Heb het nu inmiddels al opgelost, dus zoek de volgende keer wel naar een oplossing op deze manier. Het kan in ieder geval wel, moet alleen de syntax nog een beetje onder de knie krijgen.
Pagina: 1