Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[ORACLE SQL Plus] Query als script

Pagina: 1
Acties:
  • 517 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Beste mensen,

Ik zit met een probleem, ik wil in ORACLE SQL Plus een query runnen (commandline based) die eigenlijk wat simpels berekent, ik wil bepalen hoeveel procent een bepaalde groep van mijn database is ten opzichte van het totaal, dit wil ik zo doen dat ik maar één regel output heb, dus bijvoorbeeld:
Er zijn "insert_string_value" mensen die 30 jaar oud zijn, dit is "insert_string2_value" procent.

Nu heb ik 2 vragen:

1 Is dit uberhaupt mogelijk zonder dat je hier een programmeertaal voor nodig hebt (PHP/ASP/etc.)

2 Is het mogelijk dat je van een resultaat van een query alleen de waarde afvangt?

Dus 5 ipv:
TEST
------------
5
Ik neem aan dat ik volgens het volgende principe moet werken:
DECLARE
VARIABLE test NUMBER;
BEGIN
:test := 5;
END;
/

print :test;
Als ik dan een string definieer dat ik hem afvang met "Select * into STRING from test;"

Graag jullie hulp bij deze en hoe ik dan het beste te werk kan gaan.
Aangezien ik nu niet de middelen heb om het via PHP/ASP wat dan ook te doen hoop ik dat het ook zo kan.

Bvd!

  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Je vragen zijn een beetje wazig.

Waar wil je de waarde voor gebruiken? Wil je deze in een tekstfile wegschrijven? Of wil je deze op je scherm tonen? Blijkbaar wil je de waarde niet in een ander programmaatje gebruiken, anders is vraag 1 een beetje vreemd.

Je kunt heel simpel in SQL*Plus je layout beinvloeden, zodat je geen headers krijgt, linesize, enz, enz. Klik in je SQL*Plus scherm maar eens op Options->Environment, dan zie je wat er mogelijk is. Dit is allemaal in een sql-scriptje te stoppen. Is dit wat je bedoelt met vraag 2?

When life gives you lemons, start a battery factory


Verwijderd

Topicstarter
Ha KS,

Dat is inderdaad wat ik bedoel met vraag 2, thanks :*)
Ik wil de waarde gewoon op mn scherm tonen.

Om nog even terug te komen op vraag 1, wat ik wil is hetvolgende:
Aantal users wat zich in 2006 heeft geregistreerd ten opzichte van het totale aantal users.

Dus dan krijg je iets van:
SELECT count(user_id), user_reg_date FROM user WHERE user_reg_date between '01-jan-06' and '31-dec-06';
En voor het totaal:
SELECT count(user_id) FROM user;
Mijn vraag is hoe ik dit dan netjes als query verwerk, want je moet beide 'subqueries' opslaan om er later mee te rekenen (om het om te zetten in het aantal procenten).

[ Voor 3% gewijzigd door Verwijderd op 20-11-2007 14:33 ]


  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
[...]
Mijn vraag is hoe ik dit dan netjes als query verwerk, want je moet beide 'subqueries' opslaan om er later mee te rekenen (om het om te zetten in het aantal procenten).
Heb ik ook al eens mee geworsteld en hier een antwoord op gekregen van Sepio.

Vlinders moet je volgen, niet vangen...


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

code:
1
2
select sum(case user_reg_date between '01-jan-06' and '31-dec-06' then 1 else 0 end)/count(*)
from x_user;

Who is John Galt?


Verwijderd

Topicstarter
Bedankt, ik ga hier even mee worstelen.
Pagina: 1