Kom ihåg mig?
Home Menu

Menu


Välja ut X-antal kolumner från databas

Ämnesverktyg Visningsalternativ
Oläst 2005-10-08, 11:16 #1
jimmies avatar
jimmie jimmie är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 751
jimmie jimmie är inte uppkopplad
Mycket flitig postare
jimmies avatar
 
Reg.datum: Oct 2004
Inlägg: 751
Hej,

Stötte idag på ett litet "problem" som jag inte har haft förrut.

Jag vill välja ut ett fixt antal kolumner från en tabell. Tabellen kansek har 20 kolumner men jag vill bara hämta ut de 10 första. Hur gör jag?
Har sökt som en galning efter en lösning men jag hittar inget vettigt.

Allt detta ska göras i SQL, jag vill alltså inte behöva skriva alla 10 columnnamnen utan vill typ kunna skriva "select 10 first columns from table1". Anledningen är att jag vill att scriptet ska vara dynamiskt.

Tacksam för svar.

MVH Jimmie Pettersson

Edit:
Jag arbetar mot MySQL och InnoDB
jimmie är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-10-08, 11:49 #2
obes avatar
obe obe är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 172
obe obe är inte uppkopplad
Medlem
obes avatar
 
Reg.datum: Dec 2004
Inlägg: 172
Antagligen menar du 10 första raderna och då skriver du i mySQL:
SELECT * FROM nisse LIMIT 0,10
och eventuellt på slutet " ORDER BY DATE ASC".

Menar du verkligen att du ska ha kolumnerna så skriver du bara ut de kolumnerna
SELECT svenne, arne, olle, pelle FROM nisse.

Ganska basic så jag kanske missuppfattade din fråga?
obe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-10-08, 11:54 #3
Mikael Simonsson Mikael Simonsson är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2004
Inlägg: 34
Mikael Simonsson Mikael Simonsson är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2004
Inlägg: 34
Du kan tyvärr inte göra det direkt med 1 SQL-fråga.
(http://dev.mysql.com/doc/mysql/en/select.html)

Vad du kan göra är att först hämta kolumnerna med:
SHOW COLUMNS FROM tbl_name

Och sen bygga upp en fråga dynamiskt.
Mikael Simonsson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-10-08, 12:08 #4
jimmies avatar
jimmie jimmie är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 751
jimmie jimmie är inte uppkopplad
Mycket flitig postare
jimmies avatar
 
Reg.datum: Oct 2004
Inlägg: 751
Citat:
Originally posted by obe@Oct 8 2005, 12:49
Antagligen menar du 10 första raderna och då skriver du i mySQL:
SELECT * FROM nisse LIMIT 0,10
och eventuellt på slutet " ORDER BY DATE ASC".

Menar du verkligen att du ska ha kolumnerna så skriver du bara ut de kolumnerna
SELECT svenne, arne, olle, pelle FROM nisse.

Ganska basic så jag kanske missuppfattade din fråga?
Nej, jag menar de 10 första kolumnerna. Jag är fullt medveten om hur man hämtar ut X rader...

Mikael Simonsson:
Tack för svaret, då var det som jag befarade. Jag får helt enkelt göra som du säger.

Tack för svaret.

MVH Jimmie Pettersson
jimmie är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-10-08, 16:50 #5
Starwebs avatar
Starweb Starweb är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2004
Inlägg: 332
Starweb Starweb är inte uppkopplad
Flitig postare
Starwebs avatar
 
Reg.datum: Jan 2004
Inlägg: 332
Citat:
Originally posted by Mikael Simonsson@Oct 8 2005, 10:54
Du kan tyvärr inte göra det direkt med 1 SQL-fråga.
(http://dev.mysql.com/doc/mysql/en/select.html)

Vad du kan göra är att först hämta kolumnerna med:
SHOW COLUMNS FROM tbl_name

Och sen bygga upp en fråga dynamiskt.
Eller ännu snabbare/kortare:
DESC tbl_name
Starweb är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-10-08, 16:59 #6
Mikael Simonsson Mikael Simonsson är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2004
Inlägg: 34
Mikael Simonsson Mikael Simonsson är inte uppkopplad
Nykomling
 
Reg.datum: Jun 2004
Inlägg: 34
Citat:
Originally posted by Starweb@Oct 8 2005, 16:50
Eller ännu snabbare/kortare:
DESC tbl_name
Helt riktigt men snabbare/kortare är inte alltid bättre, i det här fallet skulle jag säga att SHOW COLUMNS är bättre då det är lättare att förstå vad koden gör.
Mikael Simonsson är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 02:56.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017