/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Optimering af SQL sætning
Fra : Sonni Jensen


Dato : 16-01-11 00:07

Jeg har nedenstående sætning. Der er 3 tabeller. ! der laver
reference mellem enhedsoplysninger og inventoryoplysninger, og 2
med oplysningerne.

Jeg skal finde alle pc numre der hører til en specifik lokation
og en specifik afdeling. Problemet er bare at den skal gøre det
at den finder den rigtige lokation i tabellen INV og kigger så
hvilket ID den har, så går den gennem reference tabelen over og
kigger i UNIT og får så PC'er og tjekker så retur i INV om det er
på den rigtige afdeling.

INV
INVID NAME VALUE Type
17419982 Afdeling Børneamb.   1
3097658    Location Naestved-Sygehus


UNIT
UNITID NAME
3622    PC220013   

UNITINV
UNITID INVID
3622    17419982


SELECT DISTINCT UNIT.NAME
FROM UNITINV INNER JOIN
INV ON UNITINV.INVID = INV.INVID INNER JOIN
UNIT ON UNITINV.UNITID = UNIT.UNITID
WHERE (UNITINV.UNITID IN
(SELECT DISTINCT UNITINV_2.UNITID
FROM UNIT AS UNIT_2 INNER
JOIN
UNITINV AS
UNITINV_2 ON UNIT_2.UNITID = UNITINV_2.UNITID INNER JOIN
INV AS INV_2
ON UNITINV_2.INVID = INV_2.INVID
WHERE (INV_2.VALUE =
'".$lokation."'))) AND (UNITINV.UNITID IN
(SELECT DISTINCT UNITINV_1.UNITID
FROM UNIT AS UNIT_1 INNER
JOIN
UNITINV AS
UNITINV_1 ON UNIT_1.UNITID = UNITINV_1.UNITID INNER JOIN
INV AS INV_1
ON UNITINV_1.INVID = INV_1.INVID
WHERE (INV_1.NAME = 'Afdeling')
AND (INV_1.VALUE = '".$afdeling."')))
ORDER BY UNIT.NAME

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407849
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste