Kom ihåg mig?
Home Menu

Menu


Trubbel med SQL

Ämnesverktyg Visningsalternativ
Oläst 2010-10-21, 16:40 #1
Linuus Linuus är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2009
Inlägg: 890
Linuus Linuus är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2009
Inlägg: 890
Standard Trubbel med SQL

Tjena!

Kan man i SQL göra något liknande detta:

Kod:
SELECT (tbl.ett * calc2) AS calc1, (tbl.sju * tbl.tre) AS calc2 FROM table AS tbl
Problemet ligger alltså i att använda ett alias "calc2" i beräkningen för "calc1"

Går det att göra såhär eller måste man använda någon slags subquery?
Linuus är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-21, 18:53 #2
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Skulle vara enklare att göra så här:

Kod:
SELECT (tbl.ett * (tbl.sju * tbl.tre)) as calc1, (tbl.sju * tbl.tre) as calc2 FROM table AS tbl
Testade din variant och fick bara "Unknown column 'calc2'"
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-21, 20:08 #3
Linuus Linuus är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2009
Inlägg: 890
Linuus Linuus är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2009
Inlägg: 890
Yes, men nu ser inte min query ut precis sådär utan det var bara ett exempel, tyvärr

Men det verkar inte som det funkar då den inte vet vad "calc2" är innan den har kört queryn. Får forska vidare på alternativ.

Tack ändå!
Linuus är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-21, 22:14 #4
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Den vet inget om calc2 innan den hämtar fälten. Skulle du sortera eller gruppera på calc2 skulle det funka utmärkt t ex. Behöver du bearbeta fälten helt fritt i select-delen får du skapa en subquery som hämtar det först. I ditt exempelfall blir det dock betydligt mer effektivt att göra som Jonas säger (kanske 5 gånger snabbare skulle jag tro). Så vad som är bästa lösningen för ditt fall går inte att säga från ditt exempel om det saknar relevans för det riktiga fallet.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-10-22, 11:34 #5
Linuus Linuus är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2009
Inlägg: 890
Linuus Linuus är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2009
Inlägg: 890
Citat:
Ursprungligen postat av Clarence Visa inlägg
Den vet inget om calc2 innan den hämtar fälten. Skulle du sortera eller gruppera på calc2 skulle det funka utmärkt t ex. Behöver du bearbeta fälten helt fritt i select-delen får du skapa en subquery som hämtar det först. I ditt exempelfall blir det dock betydligt mer effektivt att göra som Jonas säger (kanske 5 gånger snabbare skulle jag tro). Så vad som är bästa lösningen för ditt fall går inte att säga från ditt exempel om det saknar relevans för det riktiga fallet.
Yes det verkar inte gå som sagt. Men jag löser det med flera querys istället

Tack ändå!
Linuus ä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 12:07.

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