10. juni 2002 - 12:40Der 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.
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.
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?
Synes godt om
Ny brugerNybegynder
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.