webForumDet fria alternativet
Logga in / Bli medlem

Mera problem med stored procedures

Databaser & SQL

1 svar · 301 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1
/* PRODUCT DETAILS */
LEFT OUTER JOIN 
	(SELECT DISTINCT
		tblProducts.InvoiceID,
		tblProducts.Quantity, 
		tblProducts.Type, 
		tblProducts.Description, 
		tblProducts.UnitPrice + (1 + CONVERT (money, (SELECT Setting FROM tblSetup WHERE (SetupID = 'ProduktAddering')))) AS UnitPrice, 
		dbo.LineTotal(tblProducts.Quantity, tblProducts.UnitPrice + (1 + CONVERT (money, (SELECT Setting FROM tblSetup AS tblSetup WHERE (SetupID = 'ProduktAddering')))), 0, tblInvoice.GST, 0) AS RowProductPrice, 
		tblProducts.ProductID 
	FROM 
		tblInvoice 
		INNER JOIN tblProducts ON tblInvoice.InvoiceID = tblProducts.InvoiceID 
	WHERE 
		(tblInvoice.InvoiceID = @InvoiceID)
		
	) AS myProducts ON tblInvoice.InvoiceID = myProducts.InvoiceID

försöker på ovan sätt att hämta detaljerna för fakturan och det går jättebra tills jag lägger till en liknande join på invoicedetails men då hamnar allting dubbelt.

Iställer för att ProductID ska bli:
4
6
7

så blir det:
4
4
6
6
7
7

Jag blir tokig på det här :)

Medlem sedan jan. 20022 440 inlägg
#2

Det hela löstes med hjälp av en UNION på både produkt och tid tabellerna

264 ms totalt · 4 externa anrop · v20260731065814-full.1b2494f0
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)