webForumDet fria alternativet

Avancerad prisjämförelse/sökresultat

Databaser & SQL

0 svar · 205 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej!

Håller på med mitt lilla projekt som bara blir större och större...

Jag har en databas med en massa elartiklar från olika leverantörer. Tanken är att kunna jämföra dessa och på så sätt göra det mest förmånliga inköpet.

Tabellstrukturen ser ut så här:

tblPrice
*articleNumber (PK)
*articleSupplierId (PK)
*articlePrice
*articleCategoryNumber

tblArticle
*articleNumber (PK)
*articleName
*articleUnit

tblSupplier
*supplierId (PK)
*supplierName

tblCategory
*categoryNumber (PK)
*supplierId (PK)
*categoryName

När jag gör en sökning så på tex EKLK 3G1,5 R50 så får jag bifogat sökresultat.

med följande SQL-fråga

SELECT DISTINCT 
tblArticle.articleNumber, 
tblArticle.articleName, 
tblArticle.articleUnit, 
tblPrice.articlePrice, 
tblSupplier.SupplierName, 
tblPrice.articleCategoryNumber, 
tblDiscount.articleDiscount, 
CASE WHEN articleDiscount is null THEN articlePrice ELSE articlePrice*(1-([articleDiscount]*0.01)) END AS articlePriceWithDiscount 
FROM ((tblArticle 
INNER JOIN tblPrice ON tblArticle.articleNumber = tblPrice.articleNumber) 
LEFT JOIN tblDiscount ON tblPrice.articleCategoryNumber = tblDiscount.CategoryNumber) 
INNER JOIN tblSupplier ON tblPrice.articleSupplierId = tblSupplier.SupplierId 
WHERE tblArticle.articleName LIKE '%eklk 3G1,5%' AND tblSupplier.SupplierId IN (4, 3, 5, 2) 
ORDER BY tblArticle.articleNumber, articlePriceWithDiscount ASC

Det är ju jättefint. Problemet är bara att leverantörerna börjat sätta egna nummer på "samma" kabel. Detta gör att man får flera träffar på likvärdiga produkter och det är därmed svårt att jämföra priserna.

Hur skulle man kunna utforma sökfrågan så att man jämför artikelns namn och sedan får fram leverantörenas olika priser?

man kanske skulle kunna få fram en listmeny eller något där leverantörerns lägsta pris var valt. Sedan skulle man kunna kolla de andra priserna också...

hmmm, detta kanske inte är en ren sql-fråga.... Den får väl flyttas i så fall

Edit/: Har lagt till en liten skiss på hur resultatet skulle kunna se ut...

Kanske även

Mvh
Henrik

Sökresultat.gifönskat resultat.gifett_alternativ.gif
253 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)