stian123 Skrevet 1. desember 2010 Skrevet 1. desember 2010 (endret) Hei og hopp! Jeg lager en database med masse matvarer, der jeg skal kunne ha muligheten til å søke etter f.eks juice og få opp alle typer juice. Appelsinjuice, eplejuice juicekonsentrat etc. Har nå skrevet Like "*[matvare]*" i tblMatvare. Skal også vise en del andre ting, som valgt måleenhet (liter, desiliter) og mengde. Skal også få opp totale næringsinnhold. Får opp alt dette, men når jeg søker på f eks juice, kommer nærmest alle typer drikke opp. SQL koden min ser slik ut PARAMETERS Matvare Text ( 255 ), Måleenhet Text ( 255 ), AntallEnheter Value; SELECT tblMatvare.Navn, [Mengde]*[AntallEnheter] AS AntallEnheter, tblEnhet.Enhet, tblMatvare.SpiseligDel, tblMatvare.Vann, tblMatvare.Kilojoule, tblMatvare.Kilokalorier FROM tblMatKategori INNER JOIN (tblEnhet INNER JOIN (tblMatvare INNER JOIN tblMatvareEnhet ON tblMatvare.ID = tblMatvareEnhet.MatvareID) ON tblEnhet.EnhetsID = tblMatvareEnhet.EnhetsID) ON tblMatKategori.KategoriNr = tblMatvare.Kategori GROUP BY tblMatvare.Navn, [Mengde]*[AntallEnheter], tblEnhet.Enhet, tblMatvare.SpiseligDel, tblMatvare.Vann, tblMatvare.Kilojoule, tblMatvare.Kilokalorier, tblMatvareEnhet.MatvareID HAVING (((tblMatvare.Navn) Like "*[matvare]*") AND ((tblEnhet.Enhet)=[Måleenhet])); Hva gjør jeg galt? Endret 2. desember 2010 av stian123
MikkelRev Skrevet 1. desember 2010 Skrevet 1. desember 2010 Virker som du gjør det forferdelig komplisert. Ville gjort noe sånt: SELECT id, Navn FROM tblMatvare WHERE Navn LIKE '%juice%'; Tilpasser du den spørringen litt, vil alle juicer komme fram. Når du så velger en juice fra listen, kan du hente fram mer informasjon om den akutelle juicen. SELECT * FROM tblMatvare WHERE id = id (id er den du hentet fra forrige spørring).
stian123 Skrevet 1. desember 2010 Forfatter Skrevet 1. desember 2010 Virker som du gjør det forferdelig komplisert. Ville gjort noe sånt: SELECT id, Navn FROM tblMatvare WHERE Navn LIKE '%juice%'; Tilpasser du den spørringen litt, vil alle juicer komme fram. Når du så velger en juice fra listen, kan du hente fram mer informasjon om den akutelle juicen. SELECT * FROM tblMatvare WHERE id = id (id er den du hentet fra forrige spørring). Men poenget er at en annen person skal kunne søke i databasen uten å måtte programmere selv. Ikke bare juice, men også pizza, gulrot etc.
stian123 Skrevet 1. desember 2010 Forfatter Skrevet 1. desember 2010 Har forenklet den for å gjøre eksempelet lettere: PARAMETERS Matvare Text ( 255 ); SELECT tblMatvare.Navn FROM tblMatvare WHERE (((tblMatvare.Navn) Like "[Matvare]")); Men å bruke "%[Matvare]%" ser ikke ut til å fungere, da jeg ikke får noenting opp. Har også prøvd med "*[Matvare]*" og diverse andre tegn, men ser ikke ut til å fungere.
stian123 Skrevet 1. desember 2010 Forfatter Skrevet 1. desember 2010 (endret) Fant ut av det, måtte skrive: Like "*" & [Matvare] & "*" Endret 1. desember 2010 av stian123
MikkelRev Skrevet 1. desember 2010 Skrevet 1. desember 2010 Nå vet jeg ikke hvilket språk og DBMS du holder på med. Uansett, spørringen kjører selvfølgelig i backend mens brukeren bruker et frontend (gui) til å taste inn søkeord. Trykk på LØST-knappen hvis problemet ditt er løst.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå