02. september 2004 - 10:29Der er
17 kommentarer og 1 løsning
SQL Sætning
Hej
Jeg har en MS SQL sætning som der skal laves om til en MySQL sætning. Men jeg kan ikke helt finde ud af det. Er der nogen som der kan hjælpe?
strSQL = "SELECT aRoom.RoomName, aRoom.RoomID, "&_ "(SELECT COUNT(UserID) FROM onlineusers WHERE status = 0 AND RoomID = aRoom.RoomID) AS users "&_ "FROM Rooms aRoom "&_ "ORDER BY aRoom.RoomName"
Det muligt du bliver nød til at lave den om til en left join:
strSQL = "select aRoom.RoomName, aRoom.RoomID, count(UserID) as users from Rooms as aRoom left join onlineusers on aRoom.RoomID=onlineusers.RoomID where onlineusers.status = 0 order by aRoom.RoomName"
Jeg har forsøgt at bruge den sidste. Men den komme med denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80004005' [TCX][MyODBC]Sammenblanding af GROUP kolonner (MIN(),MAX(),COUNT()...) uden GROUP kolonner er ikke tilladt, hvis der ikke er noget GROUP BY prædikat
Nej så komemr de tomme ikke med. Prøv med left outer join og evt skriv tabelnavnet i count også
strSQL = "select aRoom.RoomName, aRoom.RoomID, count(onlineusers.UserID) as users from Rooms as aRoom left join onlineusers on aRoom.RoomID=onlineusers.RoomID where onlineusers.status = 0 GROUP BY aRoom.RoomName, aRoom.RoomID order by aRoom.RoomName"
Nej det flytter bare indholdet af recordset over i et array, det tror jeg ikke der er noget galt i. Måske hvis du har if sætning som uskriver "1" hvis countet er "".
If IsArray(arrRooms) Then For x = 0 to ubound(arrRooms,2) %><tr id="room<%=arrRooms(1,x)%>"> <td> <a href="java script:parent.changeRoom(<%=arrRooms(1,x)%>);" class="roomlinks"> <%=arrRooms(0,x)%></a> (<%=arrRooms(2,x)%>) </td> </tr> <% Next End If
Hej igen... Jeg fik ham der har lavet det, til at lave det om. Så nu virker det. Lig et svar hvis du vil have point :o)
Synes godt om
Ny brugerNybegynder
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.