---
title: "Sökning i databas, idé torka!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/8248-sökning-i-databas-idé-torka"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Dudde"
published: "2001-02-21T21:05:00.000Z"
updated: "2001-02-21T21:48:00.000Z"
replies: 5
views: 269
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/8248-sökning-i-databas-idé-torka"
---

# Sökning i databas, idé torka!

## #1 — Dudde, 2001-02-21T21:05Z

Hej!
Jag sitter och klurar på en nöt jag inte riktigt kommer på...
Jag ska göra en sökfunktion till följande:
En massa val (properties) från ett formulär sparas i en databas...(textinput, dropdown-val, radiobutton)...
Valen lagras som sagt i en databas. (Hur basen ser ut är inte bestämt ännu.)
Söknings-formuläret kommer att se liknande ut som formuläret med (properties)...
I sökningsformuläret skall man kunna välja en vikt på varje fråga...
Dvs. 1-5 (radio-buttons) där 1 betyder att frågan inte har så stor betydelse och 5 att frågan är viktig...
Sedan skall matchningen gå till så att om många alternativ stämmer med (properties)-basen kommer de med, sortering på summan av vikterna!

Tanke 1:
Om man spar de sökta alternativen i en databas och sedan kör en sql-fråga på baserna "relaterade"..Hur skulle den kunna se ut?
Tanke 2:
Man kör flera sql och kollar varje val för sig...Känns lite lågt?
Tanke 3:
Någon som har en idé?

Hoppas Ni har några kommentarer, ideér,  gärna kodsnuttar alt. sql-uttryck från liknande kompositioner...

Hoppas på svar!
/Dudde.

Permalänk: https://www.webforum.nu/p/8248

## #2 — emission, 2001-02-21T21:16Z

Välkommen hit Dudde!

Ditt problem låter intressant, men jag skulle gärna vilja att du förklarade det lite mer, innan jag sätter tänderna i det. Ett mer reellt exempel, liksom.... :)

Permalänk: https://www.webforum.nu/p/259740

## #3 — LarsG, 2001-02-21T21:21Z

Ett uppkast

Jag tänker att man har en tabell (properties) där man lagrar vilka egenskaper ett objekt har. Den har kolumnerna

pid propertyName propertyValue

där pid är vilket objekt det gäller för.

När du vill göra en matchning så tänker jag mig att man lägger in de sökta egenskaperna i en annan tabell (searchers) som har kolumnerna

sid propertyName minV maxV weight

minV och maxV är till för att hantera om man vill söka inom ett intervall t.ex mellan 80 och 90 kg. Om man har ett diskret värde så lägger man det i både minV och maxV. Weight är en siffra som anger hur viktigt det är att egenskapen matchar. Exakt hur man väljer detta värde får man nog prova sig fram till.

För att ta fram hur bra något matchar kan man då göra följande select

```
select pid, sum(weight) as matchRate
from properties p, searchers s
where p.propertyName = s.propertyName
and p.propertyValue between s.minV and s.maxV
group by pid
order by matchRate
```

Alltså desto fler matchningar desto högre summa. Det här är inte något som jag har gjort i något sammanhang så jag vet inte hur effektivt det blir om man har stora datamängder. 

Om man vill att några egenskaper måste gälla så kan man ju vikta dom väldigt högt.

Permalänk: https://www.webforum.nu/p/259741

## #4 — Dudde, 2001-02-21T21:34Z

LarsG:s inlägg är en intressant metod..
Dock blir det lite jobbigt när varje val i formuläret måste en egen post...
Det skulle bli enormt med poster om man tänker sig 40-50 val i properties-databasen multiplicerat med antalet ID:n. 
Jag tänkte mig kanske att baka ihop alla valen från properties-formuläret till en enda sträng och sedan kasta in i basen. Sen söka i strängen.
Eller köra relaterat mellan baserna med varje val i en kolumn...Men då blir viktningen knepig...
Eller?
/Dudde

Permalänk: https://www.webforum.nu/p/259742

## #5 — emission, 2001-02-21T21:38Z

LarsGs variant är bra. Att baka in allt i en sträng vore verkligen att skjuta sig i foten.

Permalänk: https://www.webforum.nu/p/259743

## #6 — Dudde, 2001-02-21T21:48Z

Jo det känns inte riktigt rätt...
Och jo det känns klart bättre med LarsG:s variant...

För övrigt mkt trevligt forum!
/Dudde

Permalänk: https://www.webforum.nu/p/259744

---

Tråden på webben: https://www.webforum.nu/amne/asp/8248-sökning-i-databas-idé-torka
