16. maj 2006 - 23:23Der er
11 kommentarer og 1 løsning
SQL-sammentælling med anvendelse at UNION
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="dbconnect.asp" -->
<% soeg = Request.QueryString("soeg") If soeg = "" Then soegestreng = "'%'" Else soegestreng = "'%" & soeg & "%'" End If
Set list = Server.CreateObject ("ADODB.Recordset") list.Open "SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS SamletPris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & " )) ORDER BY Pilot, SamletPris ", Conn
Set sum = Server.CreateObject ("ADODB.Recordset") sum.Open "SELECT sum AS SamletPris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & " )) ORDER BY Pilot, SamletPris ", Conn antal = sum.fields("antal") %>
Bare lige for komme i sync. Nedenstående sætning, der "lister" det ønskede fungerer og det jeg så gerne vil er, at summere SamletPris:
SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS SamletPris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & ")) ORDER BY Pilot, SamletPris
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.