webForumDet fria alternativet
Logga in / Bli medlem

Flera relationer samtidigt

Databaser & SQL

7 svar · 248 visningar · startad av roady

Medlem sedan jan. 2002473 inlägg
Trådstart#1

Jag är fruktansvärt dålig på sånt här.
Kan man få flera relationer...

Ex...
I tabellen news har jag ett fält som heter userID och ett som heter newsEditID...

Dem vill jag koppla och få fram olika userFname och userEname. Kan man göra detta, är överlycklig ifall någon kunde hjälpa mig *ler gulligt*...

Såhär långt har jag kommit hittils:

SQL = "SELECT news.newsID, news.newsHeadline, news.newsIngres, news.newsCreated, news.newsLayout, news.newsShowFront, news.newsCategory, news.newsSchool, news.newsEdit, news.newsEditID, news.newsEditDate, news.newsReady, users.userFname, users.userEname, users.userID " & _
		  "FROM users INNER JOIN news ON users.userID = news.userID " & _
		  "WHERE news.newsSchool = '"& strSchool &"' "& strCategorySQL &" Order By "& strSortBy &" "& strSort &";"
Medlem sedan dec. 200012 464 inlägg
#2

Använd flera instanser av users-tabellen

select u1.name as fname,u2.name as ename 
  from (users u1 inner join news n on u1.id = n.userid)
inner join users u2 on n.newseditid = u2.id
Medlem sedan jan. 2002473 inlägg
#3

Detta är alltför krångligt...
Får bara fel hela tiden:
[Microsoft][Drivrutin för ODBC Microsoft Access]
För få parametrar angavs. 12 förväntades.
/webportal/admin/edit_news.asp, line 177

SQL = "SELECT news.newsID, news.newsHeadline, news.newsIngres, news.newsCreated, news.newsLayout, news.newsShowFront, news.newsCategory, news.newsSchool, news.newsEdit, news.newsEditID, news.newsEditDate, news.newsReady, u1.userFname AS Fname, u1.userEname AS Ename, u1.userID AS userID, u2.userFname AS FnameEdit, u2.userEname AS EnameEdit, u2.userID AS userIDEdit  " & _
		  "FROM (users u1 inner join news n on u1.userID = n.userID) inner join users u2 on n.newsEditID = u2.userID " & _
		  "WHERE news.newsSchool = '"& strSchool &"' "& strCategorySQL &" Order By "& strSortBy &" "& strSort &";"
Medlem sedan dec. 200012 464 inlägg
#4

Vad är strCategorySQL ?

Skriv ut värdet av SQL efter konkateneringen och posta det.

SQL = "SELECT news.newsID, news.newsHeadline, news.newsIngres, news.newsCreated, news.newsLayout, news.newsShowFront, news.newsCategory, news.newsSchool, news.newsEdit, news.newsEditID, news.newsEditDate, news.newsReady, u1.userFname AS Fname, u1.userEname AS Ename, u1.userID AS userID, u2.userFname AS FnameEdit, u2.userEname AS EnameEdit, u2.userID AS userIDEdit  " & _
		  "FROM (users u1 inner join news n on u1.userID = n.userID) inner join users u2 on n.newsEditID = u2.userID " & _
		  "WHERE news.newsSchool = '"& strSchool &"' "& strCategorySQL &" Order By "& strSortBy &" "& strSort 
response.write "SQL:" & sql
response.end
Medlem sedan jan. 2002473 inlägg
#5

SELECT news.newsID, news.newsHeadline, news.newsIngres, news.newsCreated, news.newsLayout, news.newsShowFront, news.newsCategory, news.newsSchool, news.newsEdit, news.newsEditID, news.newsEditDate, news.newsReady, u1.userFname AS Fname, u1.userEname AS Ename, u1.userID AS userID, u2.userFname AS FnameEdit, u2.userEname AS EnameEdit, u2.userID AS userIDEdit

FROM (users u1 inner join news n on u1.userID = n.userID) inner join users u2 on n.newsEditID = u2.userID

WHERE news.newsSchool = 'Fajansskolan' Order By news.newsCreated Desc;

Medlem sedan jan. 2002473 inlägg
#6

WHERE delen är upplagd med några select., gjorde så för att man skall kunna filtrera bort när man visar artiklar :)

Medlem sedan dec. 200012 464 inlägg
#7

Ok, om du ändrar denna

"FROM (users u1 inner join news n on u1.userID = n.userID) inner join users u2 on n.newsEditID = u2.userID " & _

till

"FROM (users u1 inner join news on u1.userID = news.userID) inner join users u2 on news.newsEditID = u2.userID " & _
Medlem sedan jan. 2002473 inlägg
#8

alltså en sån otrolig klippa du är Lars :f

274 ms totalt · 4 externa anrop · v20260731065814-full.50d4b5bd
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)