webForumDet fria alternativet

En (vad jag tror) avancerad SQL fråga.

1 svar · 306 visningar · startad av Brimba

BrimbaMedlem sedan dec. 19995 875 inlägg
#1

Hej!

Jag tänkte berätta lite om vad jag vill uppnå, sedan om någon vet hur man gör kan tala om det för mig.

Så här är tabellerna uppbyggda (nödvändig information postas endast)

tabArt
ArtID - räknare
Artikel - Artikelnamn (text)

tabOrderArt - Används för beställning av lösa komponenter
OrderID - räknare (kopplad till tabOrder)
Artikel - kopplad till ArtID

tabOrder - Används när kunden beställer ett helt datorpaket
OrderID - räknare
Datum - Datum
Proc - kopplad till ArtID
Ram - kopplad till ArtID
Hdd - kopplad till ArtID
Levererad - Ja/Nej
Beställd - Ja/Nej

Nu är det så att jag vill kunna söka på en artikel tex "abit" och därigenom kunna lista det OrderID som ej är levererad men är beställd. Den skall söka på både lösa artiklar och bland alla fält i tabOrder. Den skall förövrigt lista en byggOrder (tabOrder) före en komponentorder (tabOrderArt).

Hoppas ni förstår vad jag är ute efter.

Annars förklarar jag gärna mer.

Tack!

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

fredrikMedlem sedan dec. 19991 072 inlägg
#2

Här är en sql-sträng som borde kunna funka:

SELECT tabart.artid, taborder.orderid
FROM taborderart INNER JOIN
    taborder ON 
    taborderart.orderid = taborder.orderid INNER JOIN
    tabart ON taborderart.artid = tabart.artid
WHERE ((taborder.beställd = 'ja') AND (taborder.levererad = 'nej')) 
    AND ((taborder.proc = 'abit') OR
    (taborder.ram = 'abit') OR
    (taborder.hdd = 'abit') OR
    (tabart.artikel = 'abit'))

------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
http://server.webwerkstaden.se/fredde/

[Redigerat av fredrik den 08 sep 2000]

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)