08. maj 2003 - 10:21Der er
6 kommentarer og 1 løsning
Select med innerselect og søgning.
Jeg har en tabel over ordre, hvori der også figurere et kunde_id.
Jeg er igang med at lave en søgefunktion til denne. Det skulle gerne være sådan at jeg kunne søge på ordrenr. og kunde navn.
Jeg har forsøgt med følgende, men uden held.
ordresearch = request.form("ordre")
SQL = "SELECT * FROM ordre WHERE Kunde_id IN (SELECT id, fornavn, efternavn FROM kunde WHERE fornavn LIKE '%" & replace(ordresearch, "'", "''") & "%' OR efternavn LIKE '%" & replace(ordresearch, "'", "''") & "%') AND Afsluttet='yes' OR ordrenr=" & ordresearch
Jeg får følgende fejl:
Microsoft JET Database Engine (0x80004005) Du har skrevet en underforespørgsel, der kan returnere mere end ét felt uden at bruge det reserverede ord EXISTS i hovedforespørgslens FROM-delsætning. Ret SELECT-sætningen i underforespørgslen, så den kun kræver et felt.
SQL = "SELECT * FROM ordre WHERE Kunde_id IN (SELECT id FROM kunde WHERE fornavn LIKE '%" & replace(ordresearch, "'", "''") & "%' OR efternavn LIKE '%" & replace(ordresearch, "'", "''") & "%') AND Afsluttet='yes' OR ordrenr=" & ordresearch
SQL = "SELECT * FROM ordre WHERE Kunde_id IN (SELECT id FROM kunde WHERE fornavn LIKE '%" & replace(ordresearch, "'", "''") & "%' OR efternavn LIKE '%" & replace(ordresearch, "'", "''") & "%') AND Afsluttet='yes' OR ordrenr=" & ordresearch response.write "sql = " & sql response.end
Det er lidt mærkeligt. Den virker hvis jeg skriver et tal, men hvis jeg f.eks. skiver "kurt" i søgefeltet får jeg ovenstående fejl.
Response.write SQL, giver denne.
SELECT * FROM ordre WHERE Kunde_id IN (SELECT id FROM kunde WHERE fornavn LIKE '%1520%' OR efternavn LIKE '%1520%') AND Afsluttet='yes' OR ordrenr=1520
SELECT * FROM ordre WHERE Kunde_id IN (SELECT id FROM kunde WHERE fornavn LIKE '%1520%' OR efternavn LIKE '%1520%') AND Afsluttet='yes' OR ordrenr=1520
Med "Kurt": SELECT * FROM ordre WHERE Kunde_id IN (SELECT id FROM kunde WHERE fornavn LIKE '%Kurt%' OR efternavn LIKE '%Kurt%') AND Afsluttet='yes' OR ordrenr=Kurt
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.