---
title: "WHERE som matchar allt?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/134478-where-som-matchar-allt"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "mmmMange"
published: "2005-09-18T16:05:52.000Z"
updated: "2005-09-18T17:20:10.000Z"
replies: 3
views: 330
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/134478-where-som-matchar-allt"
---

# WHERE som matchar allt?

## #1 — mmmMange, 2005-09-18T16:05Z

Har en sida med en meny (dropdownlista) där man väljer årtal och månader. Sedan görs en sökning i en databas, där jag matchar valt år och månad mot respektive kolumn i databasen.

Såhär ser WHERE-delen i min SQL-sträng ut:
WHERE costs.year='{$\_SESSION\['year'\]}' AND costs.month='{$\_SESSION\['month'\]}'

Grejen är att jag nu har lagt till "Alla år" och "Alla månader" -alternativ i menyn. Kan man på något smidigt sätt göra så att WHERE-satsen matchar alla årtal och alla månader, utan att behöva skriva extra kod för att kolla ifall användaren valt "Alla år" eller "Alla månader"? Typ nåt i stil med

\<OPTION VALUE="\*"\>Alla år\</OPTION\>

Finns det nåt sånt "magiskt" WHERE-värde? För LIKE vet jag att man kan använda %, men finns det nåt liknande för WHERE?

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

## #2 — Gislaved, 2005-09-18T16:53Z

Om du tar bort WHERE helt borde det väl fungera?

> utan att behöva skriva extra kod för att kolla ifall användaren valt "Alla år" eller "Alla månader"?

Den koden är väl inte speciellt jobbig att skriva? :)

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

## #3 — K@llen, 2005-09-18T16:53Z

Varför inte bara utelämna WHERE-klausulen om använderen väljer alla år?

Bygg din sql-fråga dynamiskt beroende på vad användaren väljer ...

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

## #4 — mmmMange, 2005-09-18T17:20Z

> **K@llen skrev:**
>
> Varför inte bara utelämna WHERE-klausulen om använderen väljer alla år?

Jo, såhär har jag det nu, och det fungerar ju bra.

$sql = "SELECT \* FROM costs";
$sql .= ($\_SESSION\['year'\] == 'all') ? '' : "WHERE year='{$\_SESSION\['year'\]}";

Men det hade ju varit smidigt om det finns nåt specialvärde man hade kunnat använda för att returnera alla rader, utan att behöva kolla ifall användaren har valt "Alla år"....

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/134478-where-som-matchar-allt
