---
title: "SQL fråga ?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/69789-sql-fråga"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Pellefant"
published: "2003-03-01T21:28:49.000Z"
updated: "2003-03-01T22:19:17.000Z"
replies: 4
views: 169
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/databaser-sql/69789-sql-fråga"
---

# SQL fråga ?

## #1 — Pellefant, 2003-03-01T21:28Z

Hejsan!   :)

Har denna, jag önskar att det skulle fungera även om det inte finns något värde på subcatid och/eller inte heller på name.

På catid och city finns det alltid ett värde.

```
SQL = "SELECT * FROM Brunswick " _ 
     & " WHERE catid = " & catid _ 
     & " AND subcatid = " & subcatid _ 
     & " AND city = '" & city & "' " _ 
     & " AND name LIKE '%" & name & "%' "
```

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

## #2 — LarsG, 2003-03-01T21:42Z

```
SQL = "SELECT * FROM Brunswick " _ 
     & " WHERE catid = " & catid _ 
     & " AND (subcatid is null or subcatid = " & subcatid _ 
     & " ) AND city = '" & city & "' " _ 
     & " AND ( name LIKE '%" & name & "%'  or name is null)"
```

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

## #3 — Pellefant, 2003-03-01T22:04Z

Hej hopp!

Testar med ditt förslag nu, men den fallerar ibland.

Om bara catid och city finns:

 SELECT \* FROM Brunswick WHERE catid = 5 AND (subcatid is null or subcatid = ) AND city = 'Brunswick' AND ( name LIKE '%%' or name is null) 

Microsoft JET Database Engine error '80040e14' 

Extra ) in query expression 'catid = 5 AND (subcatid is null or subcatid = ) AND city = 'Brunswick' AND ( name LIKE '%%' or name is null)'. 
 
Annat exempel:

SELECT \* FROM Brunswick WHERE catid = 5 AND (subcatid is null or subcatid = ) AND city = 'Sea Island' AND ( name LIKE '%%' or name is null) 

Microsoft JET Database Engine error '80040e14' 

Extra ) in query expression 'catid = 5 AND (subcatid is null or subcatid = ) AND city = 'Sea Island' AND ( name LIKE '%%' or name is null)'. 

Här saknades bara name, och det gick bra:

SELECT \* FROM Brunswick WHERE catid = 13 AND (subcatid is null or subcatid = 12 ) AND city = 'Brun' AND ( name LIKE '%%' or name is null) 

Provade att vända på en av parenteserna, som kommit på fel håll(?), men det hjälpte inte.

Funkar bra även när alla fyra är valda.

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

## #4 — LarsG, 2003-03-01T22:15Z

Jaså, jag trodde att du menade att det inte fanns några värden i databasen... Då är det mer fråga om ASP.

```
SQL = "SELECT * FROM Brunswick " _ 
     & " WHERE catid = " & catid _ 
     & " AND city = '" & city & "'"
if subcatid <> "" then
   SQL = SQL & " AND subcatid = " & subcatid 
end if
if name <> "" then
   SQL = SQL & " AND name like '%" & name & "%'"
end if
```

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

## #5 — Pellefant, 2003-03-01T22:19Z

Jaså, hur kunde du få för dig något sådant?  :)  (skojar)

Nu fungerar det toppen, tack så mycket för hjälpen.

\*Tack\*

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/69789-sql-fråga
