---
title: "sql sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/45187-sql-sats"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "jonas76"
published: "2002-06-04T14:11:47.000Z"
updated: "2002-06-05T14:27:57.000Z"
replies: 11
views: 342
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/45187-sql-sats"
---

# sql sats

## #1 — jonas76, 2002-06-04T14:11Z

Jag har en sats som är följande:
sql="select sum(antaltimmar) as resultat from utbildningsprogram"

hur lägger jag in i den satsen så den hämtar upp flera kolummner från databasen tex :namn, efternamn osv så jag kan redovisa vilka personer som jag har summerat från.

Tacksam för svar.

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

## #2 — LR^evil.sid, 2002-06-04T14:30Z

fungerar det inte med:

```
[red]sql = " select namn, efternamn, sum(antaltimmar) as resultat from utbildningen "
set rs = con.execute ( sql )[/red]
```

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

## #3 — LarsG, 2002-06-04T14:37Z

```
sql="select sum(antaltimmar) as resultat,namn, efternamn  from utbildningsprogram group by namn, efternamn "
```

Alla kolumner som finns med i group by måste också finnas med i select-listan.

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

## #4 — jonas76, 2002-06-05T07:36Z

Jag far en del felmedelande.
Jag postar hela min kod sa kan ni se hur den ser ut, det jag vill ar att aven hamta upp kolumnerna : fnamn, enamn, utbildning fran databasen.
sa sidan skall redovisa total antal timmar och vilka personer som sokkriteriet stammer med.:

\<%

  dim sokord1, sokord2, sokord3

  sokord1=request.form("sokord1")
  sokord2=request.form("sokord2")
  sokord3=request.form("sokord3")
  
  set connection=server.createobject("adodb.connection") 
  connection.open "dsn=cmt1" 
  
  stm = "Select Sum(antaltimmar) as resultat From utbildningsprogram where 1=1"
  
	  
  	if sokord1 \<\> "All" then 
  	stm = stm & "and konto = '" & sokord1 & "' "
  
 end if

  	if sokord2 \<\> "All" then 
  	stm = stm & "and manad = '" & sokord2 & "' "
  
 end if
  
   	if sokord3 \<\> "All" then 
   	stm = stm & "and ar = " & sokord3 & " "
   
 end if
	
    set rs = connection.execute(stm)

   
  	if  isnull(rs("resultat")) then
  
      resultat = 0
      
  	else

      resultat = round(rs("resultat"))
  
 end if

  	rs.close 
  	connection.close
  	set connection = nothing

  
 %\>

  Account:&nbsp;\<%=sokord1%\>\<br\>
  Month:&nbsp;\<%=sokord2%\>\<br\>
  Year:&nbsp;\<%=sokord3%\>\<br\>
  Training hours:&nbsp;\<%=resultat%\>\<BR\>

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

## #5 — jonas76, 2002-06-05T09:31Z

huum natt som verkar spoka ar det om jag tar bort fran sql satsen "where 1 = 1 " sa far jag "from clause" felmedelande men har jag kvar " where 1=1 " sa verkar det som den inte gillar att man lagger in fler select kriterier for da far jag foljande fel:

You tried to execute a query that does not include the specified expression 'fnamn' as part of an aggregate function.

Hjalper detta natt pa vagen ??

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

## #6 — jonas76, 2002-06-05T11:01Z

om jag andrar :  stm = "Select Sum(antaltimmar) as resultat From utbildningsprogram where 1=1" 

till : stm = "Select Sum(antaltimmar) as resultat From utbildningsprogram group by antaltimmar "

sa funkar det oxa men sa fort jag lagger till :

 stm = "Select fnamn,  Sum(antaltimmar) as resultat From utbildningsprogram group by antaltimmar, fnamn" 

sa blir det felmedeland :  You tried to execute a query that does not include the specified expression 'fnamn' as part of an aggregate function...

fattar ingetting????????

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

## #7 — LAMP, 2002-06-05T12:07Z

när du använder group by måste alla fält i din select, vara med i group by eller måste det vara en aggregat-funktion.

En liten chansning, om du struntar i att ge summeringen ett namn:

```
stm = "Select fnamn, Sum(antaltimmar) From utbildningsprogram group by antaltimmar, fnamn"
```

och använder tex rs(1) istället. Vill minnas att jag fått knas med liknande.

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

## #8 — solbulle, 2002-06-05T12:11Z

Annars testa med:

stm = "Select  Sum(antaltimmar) as resultat, fnamn From utbildningsprogram group by antaltimmar, fnamn"

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

## #9 — jonas76, 2002-06-05T12:17Z

detta funkar nastan :   stm = "Select Sum(antaltimmar) as resultat, fnamn From utbildningsprogram group by fnamn, antaltimmar " 

men da far jag bara antalet timmar i forsta raden i databasen, den summerar tydligen inte, men kor jag bara "sum" funktionen utan "fnamn" med sa summerar den korrekt.

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

## #10 — solbulle, 2002-06-05T12:29Z

variabeln resultat är den som ska innehålla det totala, summerade antalet timmar väl? Och det gör den alltså inte?

En variant är väl också att köra:

stm = "Select Sum(antaltimmar) as resultat, fnamn, antaltimmar From utbildningsprogram group by fnamn, antaltimmar"

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

## #11 — jonas76, 2002-06-05T12:38Z

Nej tyvarr det funka inte , jag kan ju inte fatta varfor summeringen slutar att funka bara for att man lagger till fler saker i select satsen?????

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

## #12 — jonas76, 2002-06-05T14:27Z

Jag loste det faste inte riktigt som jag tankt men om det ar nagon som udrar hur sa postar jag sidan ifall nagon anna skulle behova veta nagon gang..

\<%

  dim sokord1, sokord2, sokord3

  sokord1=request.form("sokord1")
  sokord2=request.form("sokord2")
  sokord3=request.form("sokord3")
  
  set connection=server.createobject("adodb.connection") 
  connection.open "dsn=cmt1" 
  
  stm = "Select Sum(antaltimmar) as resultat From utbildningsprogram where 1=1 "
 
	  
  	if sokord1 \<\> "All" then 
  	stm = stm & "and konto = '" & sokord1 & "' "
  
 end if

  	if sokord2 \<\> "All" then 
  	stm = stm & "and manad = '" & sokord2 & "' "
  
 end if
  
   	if sokord3 \<\> "All" then 
   	stm = stm & "and ar = " & sokord3 & " "
   
 end if
	
    set rs = connection.execute(stm)
	

   
  	if  isnull(rs("resultat")) then
  
      resultat = 0
      
  	else

      resultat = round(rs("resultat"))
  
 end if
  
%\>

  Account:&nbsp;\<%=sokord1%\>\<br\>
  Month:&nbsp;\<%=sokord2%\>\<br\>
  Year:&nbsp;\<%=sokord3%\>\<br\>
  Training hours:&nbsp;\<%=resultat%\>\<BR\>
  \<hr\>
\<% 

  rs.close
  set connection=nothing
%\>

\<%
 set connection=server.createobject("adodb.connection") 
  connection.open "dsn=cmt1" 
  
  stm = "Select \* from utbildningsprogram where 1=1"
 
	  
  	if sokord1 \<\> "All" then 
  	stm = stm & "and konto = '" & sokord1 & "' "
  
 end if

  	if sokord2 \<\> "All" then 
  	stm = stm & "and manad = '" & sokord2 & "' "
  
 end if
  
   	if sokord3 \<\> "All" then 
   	stm = stm & "and ar = " & sokord3 & " "
   
 end if
	
    set rs = connection.execute(stm)
	
  do until rs.eof
%\>

\<table\>
\<tr\>
    \<td width="90"\>Anst Nr:\</font\>&nbsp;\<font color="blue"\>\<%=rs("anstnr")%\>\</font\>\</td\>
    \<td width="100"\>Namn:\</font\>&nbsp;\<font color="blue"\>\<%=rs("fnamn")%\>\</font\>\</td\>
    \<td width="100"\>\</font\>&nbsp;\<font color="blue"\>\<%=rs("enamn")%\>\</font\>\</td\>
    \<td width="100"\>Konto:\</font\>&nbsp;\<font color="blue"\>\<%=rs("konto")%\>\</font\>\</td\>
    \<td\>Utbildning:\</font\>&nbsp;\<font color="blue"\>\<%=rs("utbildning")%\>\</font\>\</td\>\</tr\>
\</table\>
\<table\>\<tr\>
    \<td width="200"\>Syfte:\</font\>&nbsp;\<font color="blue"\>\<%=rs("syfte")%\>\</font\>\</td\>
    \<td width="100"\>Typ:\</font\>&nbsp;\<font color="blue"\>\<%=rs("typ")%\>\</font\>\</td\>
    \<td width="250"\>Trainer\</font\>&nbsp;\<font color="blue"\>\<%=rs("tranare")%\>\</font\>\</td\>
    
\</tr\>
\</table\>
\<hr\>

\<%
  rs.movenext
  loop
  rs.close
  set connection=nothing
%\>

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/45187-sql-sats
