---
title: "Hämta alla fält FÖRUTOM ett."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/59780-hämta-alla-fält-förutom-ett"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "trexter.com"
published: "2002-11-20T14:57:38.000Z"
updated: "2002-11-21T08:58:11.000Z"
replies: 8
views: 583
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/59780-hämta-alla-fält-förutom-ett"
---

# Hämta alla fält FÖRUTOM ett.

## #1 — trexter.com, 2002-11-20T14:57Z

Antagligen går det inte men det är lika bra att fråga.

SELECT \* väljer alla kolumner.
SELECT namn1, namn2 osv väljer vissa utvalda kolumner.

Kan man på något sätt välja alla kolumner förutom en?
Typ SELECT \* - Texten

Det hade varit ganska praktiskt när man nyttjar 19 av 20 kolumner och den tjugonde är full med tusentals tecken.

 :)

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

## #2 — LarsG, 2002-11-20T15:00Z

Nej, det går inte. Skapa en vy i såfall. 

Flyttas från ASP.

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

## #3 — trexter.com, 2002-11-20T15:11Z

vy?

 :)

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

## #4 — OveRRidE, 2002-11-20T15:42Z

Välj bara de du behöver och spara prestanda samtidigt, alltså:

```
SELECT kol1, kol2, kol3, kol4 FROM table
```

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

## #5 — LarsG, 2002-11-20T15:47Z

Ja vystt. Vyer finns i alla RDBMS (ja inte i Mysql).

```
create view allbutone as
select c1,c2,c3 ..c19
from t
```

sen så kan du använda allbutone precis som om det vore en tabell,

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

## #6 — trexter.com, 2002-11-20T17:20Z

Alltså:
select c1,c2,c3 ..c19.....

ska vara en komplett SQL-fråga va?
Och förresten, innebär en sådan här "omväg" en stor prestandaförlust?

 :)

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

## #7 — LarsG, 2002-11-20T18:08Z

Ja som ett vanligt select-statement och någon prestandaförlust blir det inte

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

## #8 — niko, 2002-11-20T18:15Z

Apropos prestanda så läste jag nånstans att i vissa fall så kan faktiskt

```
SELECT col1 FROM tbl1 where ..
```

vara **långsammare** än

```
SELECT * FROM tbl1 where ..
```

Guldstjärna till den som kan säga när.  :)

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

## #9 — h0lger, 2002-11-21T08:58Z

I vissa fall kan 

```
Select col1, col2 from...
```

 

vara långsammare än

```
Select * from...
```

 

då databasen först måste verifiera att de namngivna kolumnerna finns innan den exekverar sql satsen. Om man använder en databas som stöder lagrade procedurer så kan man lägga frågan i en sådan. Då verifieras kolumnnamnen och en exekveringsplan skapas första gången proceduren körs. Därefter cachas den och det går snabbare att köra den nästa gång.

Om man dock endast är ute efter ett fåtal kolumner är det bättre att namnge dessa istället för att göra en select \*. Annars skickar man hela raden över nätverket istället för att skicka den info man är ute efter.

(pust....)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/59780-hämta-alla-fält-förutom-ett
