Avatar billede dakine Nybegynder
10. juni 2002 - 12:40 Der er 9 kommentarer og
1 løsning

Et specifik SQL udtræk.

Jeg skal bruge et lidt specielt SQL udtræk som jeg skal bruge et hint til hvis muligt.
Jeg prøver at give et eksempel med Oracle tabellen emp.

EMPNO      ENAME      JOB     
---------- ---------- ---------
      7369 SMITH      CLERK   
      7499 ALLEN      SALESMAN
      7521 WARD      SALESMAN
      7566 JONES      MANAGER 

Jeg skal bruge et udtræk svarende lidt til at hente de empno hvor to medarbejdere står til at have samme job!

Dvs. her skal empno for ALLAN og WARD dukke op da de begge står som 'SALESMAN'. (Mere end én har denne titel).

I mit tilfæde handler det konkret om et lager hvor jeg skal have vist de reservedele, der står til at ligge i en og samme lagerskuffe.
Jeg har bare omkring 7- 800 skuffe navne.

Kan nogle følge mig?



Avatar billede jeg_var_gangsta Nybegynder
10. juni 2002 - 12:42 #1
select * from tabel where job = 'salesman'
Avatar billede Slettet bruger
10. juni 2002 - 12:42 #2
er det bare "SELECT * FROM TABEL WHERE JOB="SALESMAN""?
Avatar billede jeg_var_gangsta Nybegynder
10. juni 2002 - 12:44 #3
2fast4u :) *G*

/Gangsta
Avatar billede dakine Nybegynder
10. juni 2002 - 12:57 #4
Nej nej så let slipper i sgu' ikke. *S*
Det i siger svare til at jeg manuelt skal fyre 7- 800 manuelle udtræk af med hver sin WHERE. (Hvad regner i mig for) *S* Husk lige jeg sagde at jeg havde 7- 800 lagerskuffer.
Altså jeg vil have vist de empno hvor job er brugt mere end en gang. Det skal være noget med noget COUNT > 1.
Avatar billede pgroen Nybegynder
10. juni 2002 - 13:03 #5
Det må være noget i stil med:

SELECT empno
  FROM emp
WHERE job IN
      SELECT job
        FROM emp
        GROUP BY job
      HAVING count(*) > 1);
Avatar billede dakine Nybegynder
10. juni 2002 - 13:04 #6
Nå gangsta! Nu går det ikke så '2fast4u'. *G*

Jeg havde måske ikke formuleret det klart nok første gang, men kan i klare den? Jeg venter spændt.
Avatar billede pgroen Nybegynder
10. juni 2002 - 13:05 #7
Hov undskyld, der manglede en parentes:

SELECT empno
  FROM emp
WHERE job IN
      (SELECT job
        FROM emp
        GROUP BY job
      HAVING count(*) > 1);
Avatar billede dakine Nybegynder
10. juni 2002 - 13:19 #8
Se DET ligner mere noget jeg kan bruge. Jeg er faktisk ret sikker på at det lige er den jeg mangler pgroen.
Den HAVING er jeg aldrig stødt på før!

Mange tak.
Avatar billede jeg_var_gangsta Nybegynder
10. juni 2002 - 16:07 #9
*hehe* touché

Jeg har egentlig heller aldrig set HAVING, hvad gør den egentlig?

/Gangsta
Avatar billede dakine Nybegynder
11. juni 2002 - 08:12 #10
Den er meget spændende den HAVING COUNT. Det virker ganske fint. Men hvis man nu skal arbejde lidt videre med den så virker nedstående også hvor den henter fra to tabeller.

SELECT dname, loc
FROM dept
WHERE deptno IN
  (SELECT deptno
  FROM emp
  GROUP BY deptno
  HAVING count(*) > 4)

Den næste derimod kommer ud med en fejl. En ORA-01722: 'invalid number'

SELECT dname, loc
FROM dept
WHERE deptno IN
(
  SELECT job FROM emp GROUP BY job HAVING COUNT(*) > 2
)

Det er vist noget med at man forsøger at konverter karaktere til tal hvilket jo åbenlyst skal gå galt.- Mit problem er bare at jeg ikke lige kan gennemskue hvor denne konvertering sker! Kan i det?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows