Avatar billede dakar2004 Nybegynder
11. december 2004 - 00:06 Der er 15 kommentarer og
1 løsning

Vis antal af samme køn som en selv

Jeg har et en kommando som viser antal af piger og drenge:

Recordset2.Source = "SELECT COUNT(kon) AS [kon]  FROM brugere  WHERE kon = 'Dreng'

nu vil gerne have lavet det om sådan at den viser

og den skal jeg have placeret inde på denne side hvor jeg har denne kommando liggende:
(Request.QueryString("brugernavn") <> "") then Recordset1__MMColParam = Request.QueryString("brugernavn")

Recordset1.Source = "SELECT * FROM brugere WHERE brugernavn = '" + Replace(Recordset1__MMColParam, "'", "''") + "'"

og den gør så at den viser en bestemt bruger...

men nu skal jeg have den første kommando til at vise hvor mange der er af samme køn som en selv...?
Avatar billede baitianlong Nybegynder
11. december 2004 - 00:14 #1
Det må være noget hen ad:

SELECT count(*) AS koncount FROM brugere WHERE kon=SELECT kon FROM brugere WHERE brugernavn = '" + Replace(Recordset1__MMColParam, "'", "''") + "'"
Avatar billede dakar2004 Nybegynder
11. december 2004 - 00:28 #2
jeg får følgende fejl når jeg går ind i din

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i forespørgselsudtrykket "kon=SELECT kon FROM brugere WHERE brugernavn = 'SphereX'".
/vis_profil.asp, line 85
Avatar billede dakar2004 Nybegynder
11. december 2004 - 00:28 #3
jeg mener når jeg bruger din kode
Avatar billede dakar2004 Nybegynder
11. december 2004 - 00:28 #4
skal jkeg ikke erstatte brugernavn med kon?
Avatar billede baitianlong Nybegynder
11. december 2004 - 00:35 #5
Det er lidt svært at rette når det er dreamweavers genererede kode, men prøv at poste lidt mere kode... Ikke hele siden (for guds skyld) men blot 10-15 linier omkring de linier du har skrevet her :)
Avatar billede dakar2004 Nybegynder
11. december 2004 - 00:40 #6
okay

her er det:

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/danling.asp" -->
<%
Dim Recordset1__MMColParam
Recordset1__MMColParam = "1"
if (Request.QueryString("brugernavn") <> "") then Recordset1__MMColParam = Request.QueryString("brugernavn")
%>
<%
set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_danling_STRING
Recordset1.Source = "SELECT * FROM brugere WHERE brugernavn = '" + Replace(Recordset1__MMColParam, "'", "''") + "'"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 3
Recordset1.Open()
Recordset1_numRows = 0
%>
<%
Dim Recordset2__MMColParam
Recordset2__MMColParam = "1"
if (Request.QueryString("brugernavn") <> "") then Recordset2__MMColParam = Request.QueryString("brugernavn")
%>
<%
set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_danling_STRING
Recordset2.Source = "SELECT * FROM nyhed_kommentar WHERE navn = '" + Replace(Recordset2__MMColParam, "'", "''") + "' ORDER BY kommentarid DESC"
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 3
Recordset2.Open()
Recordset2_numRows = 0
%>
<%
Dim Recordset3__MMColParam
Recordset3__MMColParam = "1"
if (Request.QueryString("brugernavn") <> "") then Recordset3__MMColParam = Request.QueryString("brugernavn")
%>
<%
set Recordset3 = Server.CreateObject("ADODB.Recordset")
Recordset3.ActiveConnection = MM_danling_STRING
Recordset3.Source = "SELECT * FROM danmail WHERE afsender = '" + Replace(Recordset3__MMColParam, "'", "''") + "'"
Recordset3.CursorType = 0
Recordset3.CursorLocation = 2
Recordset3.LockType = 3
Recordset3.Open()
Recordset3_numRows = 0
%>
<%
Dim Recordset4__MMColParam
Recordset4__MMColParam = "1"
if (Request.QueryString("brugernavn") <> "") then Recordset4__MMColParam = Request.QueryString("brugernavn")
%>
<%
set Recordset4 = Server.CreateObject("ADODB.Recordset")
Recordset4.ActiveConnection = MM_danling_STRING
Recordset4.Source = "SELECT * FROM danmail WHERE brugernavn = '" + Replace(Recordset4__MMColParam, "'", "''") + "'"
Recordset4.CursorType = 0
Recordset4.CursorLocation = 2
Recordset4.LockType = 3
Recordset4.Open()
Recordset4_numRows = 0
%>
<%
Dim Recordset5__MMColParam
Recordset5__MMColParam = "1"
if (Request.QueryString("brugernavn") <> "") then Recordset5__MMColParam = Request.QueryString("brugernavn")
%>
<%
set Recordset5 = Server.CreateObject("ADODB.Recordset")
Recordset5.ActiveConnection = MM_danling_STRING
Recordset5.Source = "SELECT * FROM mailliste WHERE indehaver = '" + Replace(Recordset5__MMColParam, "'", "''") + "'"
Recordset5.CursorType = 0
Recordset5.CursorLocation = 2
Recordset5.LockType = 3
Recordset5.Open()
Recordset5_numRows = 0
%>
<%
set Recordset6 = Server.CreateObject("ADODB.Recordset")
Recordset6.ActiveConnection = MM_danling_STRING
Recordset6.Source = "SELECT count(*) AS [koncount] FROM brugere WHERE kon=SELECT kon FROM brugere WHERE brugernavn = '" + Replace(Recordset1__MMColParam, "'", "''") + "'"
Recordset6.CursorType = 0
Recordset6.CursorLocation = 2
Recordset6.LockType = 3
Recordset6.Open()
Recordset6_numRows = 0
%>
<%
Avatar billede dakar2004 Nybegynder
11. december 2004 - 00:48 #7
men for mig at se så mangler der da nogle tegn i Recordset6
Avatar billede baitianlong Nybegynder
11. december 2004 - 00:54 #8
Det skulle være fint nok at køre sådan en dobbelt SELECT struktur, men måske kan jeg ikke finde ud af det...
Avatar billede baitianlong Nybegynder
11. december 2004 - 00:59 #9
Det er noget med paranteser, prøv med:

Recordset6.Source = "SELECT count(*) AS [koncount] FROM brugere WHERE kon=(SELECT kon FROM brugere WHERE brugernavn = '" + Replace(Recordset1__MMColParam, "'", "''") + "')"
Avatar billede montago Praktikant
11. december 2004 - 01:15 #10
"SELECT count(*) AS koncount FROM brugere WHERE kon = (SELECT kon FROM brugere WHERE brugernavn = '" & Replace(Recordset1__MMColParam, "'", "''") & "'")

tror kun der mangler paranteser
Avatar billede montago Praktikant
11. december 2004 - 01:15 #11
hov

"SELECT count(*) AS koncount FROM brugere WHERE kon = (SELECT kon FROM brugere WHERE brugernavn = '" & Replace(Recordset1__MMColParam, "'", "''") & "')"
Avatar billede dakar2004 Nybegynder
11. december 2004 - 04:32 #12
tax for det legende.dk og mange tak montago, jeg må bede legende.dk om at smide et svar da du havde den rigtige kode først, din kode virker desværrer ikke montago... du skal bruge denne kode som legende.dk kom med:

Recordset6.Source = "SELECT count(*) AS [koncount] FROM brugere WHERE kon=(SELECT kon FROM brugere WHERE brugernavn = '" + Replace(Recordset1__MMColParam, "'", "''") + "')"
Avatar billede montago Praktikant
11. december 2004 - 11:30 #13
ehhh... de to koder er altså fuldstændig ens...
Avatar billede baitianlong Nybegynder
11. december 2004 - 14:12 #14
Jeg smider et svar :)
Avatar billede baitianlong Nybegynder
12. december 2004 - 02:41 #15
Ok, jeg er glad for at det virkede for dig, jeg har selv aldrig brugt to selects i samme sql sætning, men nu ved jeg hvordan det hænger sammen. øhh.. man skal bruge paranteser :P Godnat
Avatar billede montago Praktikant
12. december 2004 - 02:45 #16
jeg har fundet ud af noget mere... Alias på table !!

Select count(*) as Tal, P.ID , R.ID from Table1 P, (select * from Table2) R where P.ID = R.ID group by P.ID order by R.ID

det crazy hvad jeg snart kan selecte !!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester