webForumDet fria alternativet

Inner Join... ?

18 svar · 452 visningar · startad av CatZ

CatZMedlem sedan jan. 20022 440 inlägg
#1
<%
Case "info"
Set rs = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT klubbar.KrID, KrNamn, KrGata, KrPostnr, KrStad, KrTele, dagID, dagNamn, dagTid, klubbDag,KrID FROM Klubbar INNER JOIN KlubbDag ON Klubbar.KrID = KlubbDag.KrID WHERE KrID = " & Request.Querystring("ID")
rs.Open SQL, OBJdbConnection, 3, 3
%>

Ger följande felmeddelande:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access] Det angivna fältet 'KrID' kan referera till fler än en av de tabeller som är uppräknade i SQL-uttryckets FROM-instruktion.
/sydostra/klubbar/klubbar.asp, line 40

Jag hänger inte med alls

CatZMedlem sedan jan. 20022 440 inlägg
#2

Klubbar.KrID och KlubbDag.KrID är länkade med en relation i Access

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Eftersom KRid finns i båda tabellerna så måste du alltid ange tabellnamnet när du refererar den kolumnen.

Du kan ta bort den andra referensen från kolumnlistan.

SQL = "SELECT klubbar.KrID, KrNamn, KrGata, KrPostnr, KrStad, KrTele, dagID, dagNamn, dagTid, klubbDag " &_
" FROM Klubbar INNER JOIN KlubbDag ON Klubbar.KrID = KlubbDag.KrID " &_
" WHERE klubbar.KrID = " & Request.Querystring("ID")
rs.Open SQL, OBJdbConnection, 3, 3
CatZMedlem sedan jan. 20022 440 inlägg
#4

aah du har rätt... lade märke till att du avslutar raderna med " &_ är det för att du vill binda ihop med raden under så att SQL satsen inte tror du har skruvat till det ?

En sista fråga för kvällen... kan man välja typ Klubbar.* från en tabell ? det blir en faslig massa att skriva annars :)

CatZMedlem sedan jan. 20022 440 inlägg
#5

Ok 1 fråga till...

Jag försökte med följande:

<%
Case "info"

Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT klubbar.KrID, KrNamn, KrGata, KrPostnr, KrStad, KrTele, KrMpnID, KrSommar, KrLank, dag, tid" &_
" FROM Klubbar INNER JOIN KlubbDag ON Klubbar.KrID = KlubbDag.KrID " &_
" WHERE klubbar.KrID = " & Request.Querystring("ID")
rs.Open SQL, OBJdbConnection, 3, 3
%>

<table width="100%" border="0" cellspacing="0" cellpadding="3" class="table">
<tr class="td1"> 
<td colspan="4"><%=rs("KrNamn")%></td>
</tr>
<tr class="td2" valign="top"> 
<td>
<strong>Adress:</strong><br>
<%=rs("KrGata")%><br><%=rs("KrPostnr")%>&nbsp;<%=rs("KrStad")%><br>
<%=rs("KrTele")%>
</td>
<td>			  <strong>Spelkvällar:</strong><br>

<%
Do Until rs.EOF
%>

<%=rs("dag")%> - <%=rs("tid")%>

<%
rs.MoveNext
Loop
%>

Det vill inte... hur får jag fram alla dagar och tider från KlubbDag tabellen på liknande sätt ?

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Och vad är problemet med det?

Du kan skriva

select klubbar.* from klubbar inner join klubblag ...
CatZMedlem sedan jan. 20022 440 inlägg
#7

LarsG skrev:

Och vad är problemet med det?

Du kan skriva

select klubbar.* from klubbar inner join klubblag ...

Nu var jag dum igen :( men jag visste ju inte att det var så enkelt...

CatZMedlem sedan jan. 20022 440 inlägg
#8
<%Do Until rs.EOF%>
<%=rs("dag")%> - <%=rs("tid")%>
<%
rs.movenext 
loop
%>

Det står nåt om:
Feltyp:
ADODB.Field (0x80020009)
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
/sydostra/klubbar/klubbar.asp

Tar jag bortDo Until och rs.move tjosan så funkar det lite bättre men bara första dagen skrivs ut....

hajjar ni ?

LarsGMedlem sedan dec. 200012 464 inlägg
#9

Jag skrev frågan innan du hade redigerat ditt inlägg, men jag förstår nog ändå inte riktigt vad du menar.

Du kan ta med kolumner från båda tabellerna när du join


select A.c1,A.C2,B.C1 from a inner join b on a.pk = b.fk

Hur ser tabellen klubbdag ut ?

Vi verkar ha kommit lite i otakt.

CatZMedlem sedan jan. 20022 440 inlägg
#10

Det fungerar som du sa Lars G :) Tack för hjälpen, men jag har mitt inne i koden som skriver ut informationen till webläsaren följande

<%=rs("dag")%> - <%=rs("tid")%>

Men då skrivs bara en av dessa ut.... hur får jag allihop ?

CatZMedlem sedan jan. 20022 440 inlägg
#11

KlubbDag - Tabell
dag - text
tid - tid
KrID - tal
dagID - primär nyckel,räknare)

LarsGMedlem sedan dec. 200012 464 inlägg
#12

Eftersom du gör en jojn så får du de poster i klubbdag som stämmer med request.wuerystring("id") . Om du bara får ut en rad så finns det inga fler poster som uppfyller villkoret.

Vill du ha alla poster från KLUBBDAG oavsett om de matchar Request.Querystring("ID") ?

SQL = "SELECT klubbar.KrID, KrNamn, KrGata, KrPostnr, KrStad, KrTele, KrMpnID, KrSommar, KrLank, dag, tid" &_
" FROM Klubbar RIGHT OUTER JOIN KlubbDag ON (Klubbar.KrID = KlubbDag.KrID " &_
" and klubbar.KrID = " & Request.Querystring("ID") & ")"
voigtann1Medlem sedan juni 20019 519 inlägg
#13

Catz... inte för att låta lite elak.. men det finns en redigerings knapp här på detta forum.... tack

CatZMedlem sedan jan. 20022 440 inlägg
#14

...

CatZMedlem sedan jan. 20022 440 inlägg
#15

CatZ skrev:

voigtann1 skrev:

Catz... inte för att låta lite elak.. men det finns en redigerings knapp här på detta forum.... tack

Och exakt vad syftar du på?

LarsG skrev:

Eftersom du gör en jojn så får du de poster i klubbdag som stämmer med request.wuerystring("id") . Om du bara får ut en rad så finns det inga fler poster som uppfyller villkoret.

Men jag får ju inte ut alla posterna... Det finns fler som har samma "relationsID" i tabellen KlubbDag men de kommer inte :(

CatZMedlem sedan jan. 20022 440 inlägg
#16

....

voigtann1Medlem sedan juni 20019 519 inlägg
#17

kolla längst upp.. du kunde LÄTT smällt ihop dessa två..... tar inte illa upp säger bara som det är..

CatZMedlem sedan jan. 20022 440 inlägg
#18

voigtann1 skrev:

kolla längst upp.. du kunde LÄTT smällt ihop dessa två..... tar inte illa upp säger bara som det är..

Spela roll eller ?
Lite synd det ska finnas besserwissers (hur stavas det? ;) ) fattar fortfarande inte vad det uppnår att slå samman de 2.... jag redigerar mina meddelanden typ 30 gånger så vad gör det om jag missar en gång ?

CatZMedlem sedan jan. 20022 440 inlägg
#19

Dessutom borde inte quote och redigera sitta jämte varandra ;)

132 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)