webForumDet fria alternativet

Göra join utan relationer

Databaser & SQLur Databashanterare & SQL

38 svar · 1 267 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

Hur gör man en join i/för MySQL som inte kan hantera relationer som Access kan, har gått över från Access till MySL och jag vill kombinera tblUsers med tblUsers_visitors

I access funkade detnär jag hade relationer men skiter sig med MySQL

Vill ha 2 poster från tblUsers och alla poster från tblUsers_visitors och den gemensamma nämnaren är användarID-t

bild bifogas

tabellbild.jpg
Medlem sedan juni 200032 967 inlägg
#2

Du behöver inga "relationer" för att joina.
Det är bara att joina i SQL-frågan på de fält du tycker passar.

Medlem sedan feb. 20032 027 inlägg
#3

@nders skrev:

Du behöver inga "relationer" för att joina.
Det är bara att joina i SQL-frågan på de fält du tycker passar.

hur gör man det i mysqladmin?

Medlem sedan juni 200032 967 inlägg
#4

Jag vet inte var du skriver SQL-frågor i MySQLAdmin, men det borde väl inte vara så svårt att hitta?
Var brukar du skriva dina SQL-frågor?

Medlem sedan feb. 20032 027 inlägg
#5

brukade skriva dem i access

Medlem sedan feb. 20032 027 inlägg
#6

SELECT DISTINCT userID, username,`ID`, `HomeUserId`, `HomeVisitorId`, `HomeDateVisited`, `HomeTimeVisited` FROM tblusers_visitors, tblUsers WHERE HomeVisitorId="& request("userID") &" DESC limit 5

klagar på desc, ska den inte vara där?

Medlem sedan dec. 20025 483 inlägg
#7

Damnit, här läser man sakta :x

Medlem sedan juni 200032 967 inlägg
#8

Uhm, nej, DESC ska inte vara i WHERE-satsen. Det är ju sorteringsordning, och hör till ORDER BY.

Medlem sedan feb. 20032 027 inlägg
#9

jag vill visa besökaren (Visitor) men jag får bara fram mitt alias och nummer (webbisen och 1)

Set visitor=objConn.Execute("SELECT DISTINCT userID, username,`ID`, `HomeUserId`, `HomeVisitorId`, `HomeDateVisited`, `HomeTimeVisited` FROM tblusers_visitors, tblUsers WHERE HomeVisitorId="& request("userID") &" ORDER BY HomeVisitorId DESC limit 5")
Medlem sedan juni 200032 967 inlägg
#10

Ja, du har ju inte joinat något i SQL-frågan.

Dessutom; varför har du backticks runt vissa av fälten i SQL-frågan?

Medlem sedan feb. 20032 027 inlägg
#11

@nders skrev:

Ja, du har ju inte joinat något i SQL-frågan.

Dessutom; varför har du backticks runt vissa av fälten i SQL-frågan?

"Ja, du har ju inte joinat något i SQL-frågan."
För att jag inte vet hur jag joinar i MySQL

"varför har du backticks runt vissa av fälten i SQL-frågan?"
För att frågan kommer från mysqladmin

Medlem sedan mars 20034 471 inlägg
#12

WebbisNet skrev:

"Ja, du har ju inte joinat något i SQL-frågan."
För att jag inte vet hur jag joinar i MySQL

Hur man joinar - exempel:

Anstald (personnr, namn, tel)
Avdelning (id, AvdNamn)
Jobb (personnr, id, lon)

Hitta telefonnumret och lön till alla på avdelning "Svets", ordna efter lön.

SELECT A.tel, J.lon from Anstald A, Avdelning V, Jobb J
WHERE A.personnr = J.personnr AND V.id = J.id AND
V.AvdNamn = 'Svets'
ORDER BY J.lon DESC

Finns andra sätt att joina också.

Medlem sedan juni 200032 967 inlägg
#13

Det är ingen större skillnad i join-syntax mellan Access och MySQL.

SELECT DISTINCT userID, username, ID, HomeUserId, 
HomeVisitorId, HomeDateVisited, HomeTimeVisited 
FROM tblusers_visitors
INNER JOIN tblUsers ON tblusers_visitors.HomeVisitorID = tblUsers.userid
WHERE HomeVisitorId="& request("userID") &" ORDER BY HomeVisitorId DESC limit 5

(radbrytningar för läsbarhets skull)

Inte heller helt hundra på att jag förstår vad du har tänkt.

Medlem sedan feb. 20032 027 inlägg
#14

I Databasen

    ID    Ägare Besökare Datum Tid
  22066 1 782 2005-11-07 21:26:05 
  22067 1 782 2005-11-07 21:26:14 
  22068 1 782 2005-11-07 21:31:58 
  22069 1 782 2005-11-07 21:32:09 
  22070 1 1 2005-11-07 21:32:16 

Resultat på sidan
test 2005-11-07
test 2005-11-07 2005-11-07
test 2005-11-07
test 2005-11-07
test 2005-11-07 2005-11-07

Test är ID 782

Liten förbättring efter order by ID

Webbi.. 2005-11-07 2005-11-07
test 2005-11-07 2005-11-07
test 2005-11-07 2005-11-07
test 2005-11-07 2005-11-07
test 2005-11-07 2005-11-07

men tiden vill inte in

lUserId = request("userID")   '# krypinets ägares id
lVisitorId = CLng(UserID)   '# besökarens id
commDate=Date()
commTime=Time()
if lUserId <> lVisitorId then
objConn.execute "INSERT INTO tblUsers_visitors (HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(" & lUserId & "," & lVisitorId & ",'" & commDate & "','" & commTime & "')"

end if
Medlem sedan dec. 19996 721 inlägg
#15

Hur blir resultatet när du kör frågan direkt mot MySQL?

Medlem sedan feb. 20032 027 inlägg
#16

emission skrev:

Hur blir resultatet när du kör frågan direkt mot MySQL?

userID username ID HomeUserId HomeVisitorId HomeDateVisited HomeTimeVisited
1 Webbisen 22071 1 1 2005-11-07 21:39:22
1 Webbisen 22070 1 1 2005-11-07 21:32:16
782 test 22069 1 782 2005-11-07 21:32:09
782 test 22068 1 782 2005-11-07 21:31:58
782 test 22067 1 782 2005-11-07 21:26:14

Medlem sedan dec. 19996 721 inlägg
#17

WebbisNet skrev:

userID username ID HomeUserId HomeVisitorId HomeDateVisited HomeTimeVisited
1 Webbisen 22071 1 1 2005-11-07 21:39:22
1 Webbisen 22070 1 1 2005-11-07 21:32:16
782 test 22069 1 782 2005-11-07 21:32:09
782 test 22068 1 782 2005-11-07 21:31:58
782 test 22067 1 782 2005-11-07 21:26:14

Se där, klockslag och hela faderullan!

Jag vilar min låda.

Medlem sedan feb. 20032 027 inlägg
#18

Det ser jag, men jag får inte samma resultat på sidan

Skriver ut med

<%do until visitor.eof%>
<a href="javascript:popup(<%=visitor("userID")%>);"><img border="0" ALT="Information om <%=visitor("username")%>" src="/images/icons/info.gif"></a>

<a class="menu" <%=linkmessage%> href="view.asp?userID=<%=visitor("userID")%>">
<%usr = visitor("username") 
If Len(usr) > 5 Then
    Response.Write Left(usr, 5) & ".."
Else
    Response.Write usr
End If%>
</a> 

  &nbsp;<%=visitor("HomeDateVisited")%>&nbsp;<%=visitor("HomeTimeVisited")%><br /> 
<%visitor.movenext:loop%>
Medlem sedan dec. 19996 721 inlägg
#19

Skumt. Visa lite mer omgivande kod, t.ex. utsökningen, så kanske vi kan hitta något.

Medlem sedan feb. 20032 027 inlägg
#20
 <tr>
<td style="<%=mainBGColor%>" align="left" valign="top">
<table width="700" class="presentation" style="margin-left:0px; margin-top:0px;" border="0" cellpadding="0" cellspacing="0">	
<tr>
<td valign="top" align="left" style="<%=mainBGColor%> margin-left:0px;">
<table class="presentation" style="margin-left:0px; margin-top:0px;" cellpadding="0" cellspacing="0" border="0">
<tr> 
<td style="<%=mainBGColor%>" width="200"> 
                            
                            
<b /><a class="menu" href="JavaScript: Present(<%=UserID%>,'<%=view("userID")%>')";>Ge bort VIP i present</a>
<hr /> 
<%=gender%> från <%=view("city")%><br /> Ålder: <%=alder(view("persnr"))%> år<br />
<!--Registrerad: <%=Replace(right(view("Registration"),8),"-","")%><br />-->
Var senast inloggad:<br /> <b>
<%if view("TStamp") <> "" then%>
<%=Replace(right(view("TStamp"),17),"-","")%>
<%End If%></b>
<hr /> 
                            
<br />
                             
                            
<%do until visitor.eof%>
<a href="javascript:popup(<%=visitor("userID")%>);"><img border="0" ALT="Information om <%=visitor("username")%>" src="/images/icons/info.gif"></a>

<a class="menu" <%=linkmessage%> href="view.asp?userID=<%=visitor("userID")%>">
<%usr = visitor("username") 
If Len(usr) > 5 Then
    Response.Write Left(usr, 5) & ".."
Else
    Response.Write usr
End If%>
</a> 
&nbsp;<%=visitor("HomeDateVisited")%>&nbsp;<%=visitor("HomeTimeVisited")%><br /> 
<%visitor.movenext:loop%>
<br />
                            
<p> </p>
<table border="0">
<tr> 
<td style="<%=mainBGColor%>"> 
								
<%if view("admin") = 1 then%>
<img src="/images/admin.png" /><br>
<%end if%>
148 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)