EclipseMedlem sedan juli 20003 825 inlägg Ingen av dessa varianter fungerar. Access + ASP
' ## COUNT MOST FAMOUS PHOTOGRAPHER
SQL = "SELECT TOP 10 u.intID, u.strNickname " _
& ", (SELECT [b]COUNT(tmpPhotos)[/b] FROM images i WHERE i.intUserID = u.intID ) " _
& " FROM users u, images i WHERE tmpPhotos > 0 ORDER BY tmpPhotos DESC;"
set mySQL = Conn.Execute(SQL)
IF NOT mySQL.EOF THEN application("listUsersTOP10") = mySQL.GetRows() ELSE application("listUsersTOP10") = ""
' ## COUNT MOST FAMOUS PHOTOGRAPHER
SQL = "SELECT TOP 10 u.intID, u.strNickname " _
& ", (SELECT [b]COUNT(*) AS tmpPhotos[/b] FROM images i WHERE i.intUserID = u.intID ) " _
& " FROM users u, images i WHERE tmpPhotos > 0 ORDER BY tmpPhotos DESC;"
set mySQL = Conn.Execute(SQL)
IF NOT mySQL.EOF THEN application("listUsersTOP10") = mySQL.GetRows() ELSE application("listUsersTOP10") = ""
' ## COUNT MOST FAMOUS PHOTOGRAPHER
SQL = "SELECT TOP 10 u.intID, u.strNickname " _
& ", (SELECT COUNT(*) FROM images i WHERE i.intUserID = u.intID ) [b]AS tmpPhotos[/b] " _
& " FROM users u, images i WHERE tmpPhotos > 0 ORDER BY tmpPhotos DESC;"
set mySQL = Conn.Execute(SQL)
IF NOT mySQL.EOF THEN application("listUsersTOP10") = mySQL.GetRows() ELSE application("listUsersTOP10") = ""
EclipseMedlem sedan juli 20003 825 inlägg Gött mos, broder!
Fungerar:
& " FROM users u, images i ;"
Fungerar EJ:
& " FROM users u, images i WHERE tmpPhotos <> 0;"
& " FROM users u, images i ORDER BY tmpPhotos DESC;"
Kan jag inte använda tmpPhotos senare i urvalet...!?
Nej. Men det är nog inte omöjligt att RecordSet.Filter kanske kan hjälpa dig med Sortering eller liknande?
EclipseMedlem sedan juli 20003 825 inlägg Hmm... tragiskt. Tål att funderas på. Jag ska utveckla min tanke. Kanske bättre i ny tråd?
Peter SMedlem sedan dec. 20025 483 inlägg select top 10
u.intId
, u.strNickName
, count(*)
from users u
inner
join images i
on u.intId = i.intUserId
group
by u.intId
, u.strNickName
having count(*) > 0
order
by 3 desc
EclipseMedlem sedan juli 20003 825 inlägg Tack!!
Detta fungerar bra:
SQL = "select top 10 u.intId, u.strNickName, count(*)" _
& " from users u " _
& " inner join images i on u.intId = i.intUserId " _
& " group by u.intId, u.strNickName having count(*) > 0 " _
& " order by 3 desc ;"
set mySQL = Conn.Execute(SQL)
IF NOT mySQL.EOF THEN
myRow = mySQL.GetRows()
FOR j = 0 TO UBound(myRow,2)
response.write j+1 & ". " & myRow(1,j) & " -- " & myRow(2,j) & "<br>"
NEXT
END IF
Men hur frågar jag "WHERE u.strNickName <> '' " ???
SQL = "select top 10 u.intId, u.strNickName, count(*)" _
& " from users u " _
& " inner join images i on u.intId = i.intUserId " _
& " group by u.intId, u.strNickName having count(*) > 0 " _
& " [b]WHERE u.strNickname <> ''[/b] order by 3 desc ;" <--- FUNGERAR EJ. Har även prövat alternativ.
Where u.strNickname != ''
?
@ndersMedlem sedan juni 200032 969 inlägg Where skall vara före group by.
aasahMedlem sedan mars 20034 471 inlägg Borde det inte vara <> istället för != ? Eller funkar det senare i Access?
Tror det är mer i det @nders skriver.
aasahMedlem sedan mars 20034 471 inlägg
voigtann1 skrev:
Tror det är mer i det @nders skriver.
Det @nders skriver är rätt. :) Det jag funderade på var om ditt råd var det? :q
!= borde fungera... har faktist inte testat det i Access ;)
EclipseMedlem sedan juli 20003 825 inlägg SQL = "select top 10 u.intId, u.strNickName, count(*)" _
& " from users u " _
& " inner join images i on u.intId = i.intUserId " _
& " WHERE u.strNickname <> '' group by u.intId, u.strNickName having count(*) > 0 " _
& " order by 3 desc ;"
set mySQL = Conn.Execute(SQL)
IF NOT mySQL.EOF THEN
myRow = mySQL.GetRows()
FOR j = 0 TO UBound(myRow,2)
response.write j+1 & ". " & myRow(1,j) & " -- " & myRow(2,j) & "<br>"
NEXT
END IF
Tack! Gütt mos.... Vem vill ha cred för detta...!?
EclipseMedlem sedan juli 20003 825 inlägg
voigtann1 skrev:
!= borde fungera... har faktist inte testat det i Access ;)
Microsoft JET Database Engine error '80040e14'
Syntax error (missing operator) in query expression 'u.strNickname != '''.
/admin/login.asp, line 33
Kanske i senare/andra versioner men inte i den version jag har.
aasahMedlem sedan mars 20034 471 inlägg
Eclipse skrev:
Microsoft JET Database Engine error '80040e14'
Syntax error (missing operator) in query expression 'u.strNickname != '''.
/admin/login.asp, line 33
Kanske i senare/andra versioner men inte i den version jag har.
Jag tror att det är specifikt för MS SQL Server.