webForumDet fria alternativet

Tredjeparts relation?

10 svar · 321 visningar · startad av SPinckney

SPinckneyMedlem sedan juli 2002104 inlägg
#1

Halloj.

Jag har en tabell med submenyer.

Denna har en kollumn som heter subid och den är relaterad till en tblmainmenu.rowid

alltså tabellen tblmainmenu och kollumnen rowid.

Nu är det så att jag vill få fram vilken marknad submenun ligger i. Men problemet är att marknaden är relaterad i mainmenu tabellen.

Så vad jag vill göra är alltså första att relatera tblsubmenu.subid till tblmainmenu.rowid och sen tblmainmenu.marketid till tblmarket.id

tblsubmenu
- subid - menuname

tblmainmenu
- rowid - manuname - marketid

tblmarkets
marketname - rowid

SPinckneyMedlem sedan juli 2002104 inlägg
#2

Jag fick det iofs att fungera direkt... va inte så klurigt.

sql = "Select * from tblsubmenu, tblmenu inner join tblmarkets on tblmenu.menumarket = tblmarkets.RowId where tblsubmenu.subid = tblmenu.menuid"
SPinckneyMedlem sedan juli 2002104 inlägg
#3

Fast problemet här blir ju att både tblsubmenu och tblmarkets har en kollumn som heter RowID och när jag skriver ut <%=rs("RowId")%> så skrivs tblmarkets.rowid ut och inte tblsubmenu.rowid

Hur löser man detta?

@ndersMedlem sedan juni 200032 969 inlägg
#4

Du får ge kolumnerna olika alias i din selectfråga. Exempel:

SELECT tabell1.id AS t1ID, tabell2.id as t2ID FROM tabell1, tabell2 ....

Mvh,

SPinckneyMedlem sedan juli 2002104 inlägg
#5

Jag får inte till det.

sql = "Select tblsubmenu.RowId as subrowid, tblsubmenu.name as subname, tblsubmenu.subid as subid, tblmenu.menuid AS menuid, tblmenu.menumarket AS menumarket from tblsubmenu, tblmenu inner join tblmarkets on tblmenu.menumarket = tblmarkets.RowId where tblsubmenu.subid = tblmenu.menuid"

Nu hittar den ingen av <%=rs("name")%>, <%=rs("rowid")%> och <%=rs("marketname")%>

SPinckneyMedlem sedan juli 2002104 inlägg
#6

Jag förstår inte riktigt varför jag ska köra alias? Jag skriver väl ändå ut <%=rs("rowid")%> ? och då borde den väl ändå skriva ut tblmarkets.RowId som den gjorde innan?

eller skriver man ut aliaset som man anger i sql satsen?

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#7

<%=rs("ALIAS")%>

SPinckneyMedlem sedan juli 2002104 inlägg
#8

ah så lätt vare alltså.! Nu fungerar det prefekt.. tackar!

SPinckneyMedlem sedan juli 2002104 inlägg
#9

hmm vad är skillnaden i denna? Förutom att jag plockar ut på olika sätt.

Med denna så hittar den Marketname men rowid är från fel tabell

sql = "Select * from tblsubmenu, tblmenu inner join tblmarkets on tblmenu.menumarket = tblmarkets.RowId where tblsubmenu.subid = tblmenu.menuid"

Med denna så tar den rätt Rowid men den hittar inte <%=rs("marketname")%> från tblmarkets.marketname

sql = "Select tblsubmenu.rowid AS subrowid, tblsubmenu.Name, tblsubmenu.subid, tblmenu.* from tblsubmenu, tblmenu inner join tblmarkets on tblmenu.menumarket = tblmarkets.RowId where tblsubmenu.subid = tblmenu.menuid"

Skillnaden är ju bara att jag plockar ut specifikt ifrån tblsubmenu och allt från tblmenu

I den översta så plockade jag ut allt från både tblsubmenu och tblmenu och då hittade den <%=rs("marketname")%>

Jag förstår inte riktigt vad jag missat där

SPinckneyMedlem sedan juli 2002104 inlägg
#10

Ingen som har en aning? ;-<>

LarsGMedlem sedan dec. 200012 464 inlägg
#11

I den första när du gör select * så får du två rowid och om du bara anger

rs("rowid")

så tas den som ligger först. Det är samma problem som tidigare, du kan inte använda select * utan ange alla kolumner du vill ha med och döp om kolumnnamnet om du har samma namn flera gånger.

2:a

sql = "Select tblsubmenu.rowid AS subrowid, tblsubmenu.Name, tblsubmenu.subid, tblmenu.* , [b]tblmarkets.marketname [/b]
from tblsubmenu, tblmenu inner join tblmarkets 
on tblmenu.menumarket = tblmarkets.RowId 
where tblsubmenu.subid = tblmenu.menuid"
258 ms totalt · 3 externa anrop · v20260731065814-full.30151723
128 ms — hämta forumlista (db)
125 ms — hämta statistik (db)
130 ms — hämta tråd, inlägg och bilagor (db)