webForumDet fria alternativet

Join..?

3 svar · 275 visningar · startad av pirajan

pirajanMedlem sedan apr. 2001246 inlägg
#1

Hej!
Jag har ett länksystem där två tabeller ingår:
tblLankarKategorier
id, Namn

och

tblLankar
id, fldKategoriId, fldTitel

Hur skulle SQL:en se ut om jag vill få ut kategorierna i en lista, där bara de som innehåller några länkar blir till länkar. Alltså de kategorierna som inte har några länkar blir inga länkar... Någon som förstår?

LarsGMedlem sedan dec. 200012 464 inlägg
#2
''öppna etc

sql = "select id, Namn, " & _
" (select count(*) from tblLankar " &  _
" where fldKategoriId = k.id ) as l" & _
" from tblLankarKategorier k "
set rs = connect.execute (sql)

while not rs.eof
  if clng(rs("l")) > 0 then
     response.write "<a href=sida.asp?id=" & rs("id") & ">" _
 & rs("namn") & "(" & rs("l") & ") länkar</href>"
  else
     response.write "rs("namn") & " (inga länkar)"
  end if
  response.write "<br>"
  rs.movenext
wend

Du mäste kanske skriva om sql-frågan beroende på vilken DBMS du använder.

pirajanMedlem sedan apr. 2001246 inlägg
#3

Kör MySQL och det verkar inte fungera särskilt bra...

ADODB.Recordset.1 error '80004005'

SQLState: 42000
Native Error Code: 1064
[TCX][MyODBC]You have an error in your SQL syntax near 'select count(fldLank) from tblLankar where fldKategoriId = k.id ) as l from tbl' at line 1

artiklar2.asp, line 17

Testade med Count(*) först, men det funkade inte heller...

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Jaha, Mysql var det

sql = "select id, Namn,  count(fldKategoriId ) as l " & _
" from tblLankarKategorier k left outer join tblLankar l" &  _
" on l.fldKategoriId = k.id "
130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)