Hej Om frågan tar för lång tid så får du använda dig av mellanlagring. hade också ett sådant problem på ballou. Det är på sql-servern som man kan ställa in detta och lag lyckdes inte komma förbi detta. Om du vill ha någon som helst hjälp med frågan . kan du ju beskriva tabellerna som ingår i den. Vad fälten heter och har för funktion.Hjälp med att skriva om SQL-fråga
I koden på min sida har jag ett antal olika SQL-frågor. Idag gör jag en mellanlagring i en Accessdatabas för en del data. Det finns säkert smartare lösningar än att göra så.
Jag skulle vilja slå ihop frågorna nedan. Skulle då slippa mellanlagringen i Access.
Jag har försökt slå ihop frågorna men får då ett fel som säger att frågan kommer att ta för lång tid
Det ska fungera så här tanke mässigt:
Finns artikeln med i urvalet i huvudfrågan så ska vi kolla om artikeln har en pågående tillverkningsorder (Mellanlagringen idag ...).
Fältet POPRNO i tabellen MPDOPE10 ska isåfall vara lika med VOPRNO i tabellen MWOOPE00 där VOWOST = 60 (status 60 = pågående order)
Detta blev långt..... hoppas att någon har någon klurig lösning på detta.
//Fredrik
<code>
<%
'----------------------- Huvudfråga ------------------------------------------
StrSort="POPLGR ASC, POPRNO ASC"
If Artikeltyp = "" then
Typ_Rubrik = "Färdigprodukter"
Artikeltyp = "'FP'"
Else
Typ_Rubrik = "Halvfabrikat och färdigprodukter"
Artikeltyp = "'HF','FP'"
End If
If farg <> "" then
strquery= "SELECT DISTINCT * FROM MITBAL00, MITMAS00, MPDOPE10 WHERE POCONO = MBCONO AND " &_
"POCONO = MMCONO AND POPRNO = MBITNO AND POPRNO = MMITNO AND " &_
"((MBWHLO='SIB') AND (decimal(MBSTQT) - decimal(MBREQT) < 0) AND POAURP<>1 AND (POPLGR IN (" & Resurslista & ") AND MMCFI3 = '" & Farg & "')) AND MMITTY IN (" & Artikeltyp & ") ORDER BY " &StrSort
Else
strquery= "SELECT DISTINCT * FROM MITBAL00, MITMAS00, MPDOPE10 WHERE POCONO = MBCONO AND " &_
"POCONO = MMCONO AND POPRNO = MBITNO AND POPRNO = MMITNO AND " &_
"((MBWHLO='SIB') AND (decimal(MBSTQT) - decimal(MBREQT) < 0) AND POAURP<>1 AND (POPLGR IN (" & Resurslista & "))) AND MMITTY IN (" & Artikeltyp & ") ORDER BY " &StrSort
End If
set conn = Server.CreateObject("ADODB.Connection")
conn.open "DSN=Movex;UID=xxxx;PWD=xxxx"
Set rst = Server.CreateObject("ADODB.recordset")
rst.Open strQuery, conn
'------------ Mellanlagring av artiklar med startade TO ---------------
strquery1= "SELECT * FROM MWOOPE00 WHERE VOCONO = 001 AND VOWOST = '60'"
Set rst1 = Server.CreateObject("ADODB.recordset")
rst1.Open strQuery1, conn
Tid = date & "-" & time
strquery_mellan = "SELECT * FROM Startade_TO"
set conn_mellan = Server.CreateObject("ADODB.Connection")
conn_mellan.open "Intranet"
Set rst_mellan = Server.CreateObject("ADODB.recordset")
rst_mellan.Open strQuery_mellan, conn_mellan, 1, 3
While not rst1.EOF
rst_mellan.AddNew
rst_mellan.Fields("Artnr") = rst1("VOPRNO")
rst_mellan.Fields("TO_nr") = rst1("VOMFNO")
rst_mellan.Fields("Status") = rst1("VOWOST")
rst_mellan.Fields("Session") = tid
rst_mellan.Update
rst1.MoveNext
Wend
'rst_mellan.Close
' Set rst_mellan = nothing
rst1.Close
Set rst1 = nothing
</code>Sv: Hjälp med att skriva om SQL-fråga
I stället så dubbellagrade jag ett värde i ett fält och på så sätt slapp jag en extra join och fick det att fungera snabbt och enkelt.
Hälsningar
/PelleSv: Hjälp med att skriva om SQL-fråga
För just nu ser det ut som en gröt. Hur ska man veta vilka tabeller fält tillhör?