FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Mycket flitig postare
|
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 Går det att göra såhär eller måste man använda någon slags subquery? |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
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 |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Mycket flitig postare
|
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å! |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Administratör
|
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.
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Mycket flitig postare
|
Citat:
![]() Tack ändå! |
||
![]() |
![]() |
Svara |
|
|