webForumDet fria alternativet
Logga in / Bli medlem

Joina 3 tabeller i SQL

Databaser & SQL

8 svar · 555 visningar · startad av skarbratt

Medlem sedan juli 2000325 inlägg
Trådstart#1

SQL = "SELECT Users.textFName as uFName,Users.textLName as uLName, * FROM Notes, Users, Persons ORDER BY dateAdded;"

Resulterar i dubbelposter. Hur kan jag koppla ihop tabellen Notes med Users och Persons utan att få dubbelrader?

Medlem sedan juni 20031 837 inlägg
#2

Du har nog hamnat i fel forum. Du ställer en SQL fråga i ett ASP-forum.
Du måste ha ned någon WHERE-sats

Du får nog visa lite mer hur dina tabeller ser ut.

Medlem sedan dec. 200012 464 inlägg
#3

Flyttas från ASP

Medlem sedan juli 2000325 inlägg
#4

Tabellerna ser ut på följande sätt:

Notes: idNumNote, idNumPersons, idnumUsers, text, etc
Persons: idNumPerson, name, etc
Users: idNumUsers, name, etc

Medlem sedan okt. 20041 556 inlägg
#5

Du måste specificera vilka tabeller du har och vilket resultat du vill uppnå.
Vilken databas du har är också bra att veta.

Medlem sedan aug. 2002106 inlägg
#6

Utan att ha alltför stor aning om hur dina tabeller ser ut, vilket data de innehåller eller vilket resultat du vill ha, så får du försöka köra med lite joins för att koppla samman dina tabeller. Typ som nedan...

SELECT notes.text, persons.name, users.name FROM notes
LEFT OUTER JOIN persons ON persons.idnumpersons = notes.idnumpersons
LEFT OUTER JOIN users ON users.idnumusers = notes.idnumusers
Medlem sedan juli 2000325 inlägg
#7

Får följande satts att fungera:
SQL = "SELECT Users.textFName as uFName,Users.textLName as uLName, * FROM Notes LEFT OUTER JOIN Users ON Notes.idNumUsers = Users.idNumUsers;"

Men inte när jag utökar till detta:
SQL = "SELECT Users.textFName as uFName,Users.textLName as uLName, * FROM Notes LEFT OUTER JOIN Users ON Notes.idNumUsers = Users.idNumUsers LEFT OUTER JOIN Persons ON Notes.idNumPersons = Persons.idNumPersons;"

Medlem sedan juli 2000325 inlägg
#8

Löste det själv, tack för hjälpen:

SQL = "SELECT Users.textFName as uFName,Users.textLName as uLName, * FROM (Notes LEFT OUTER JOIN Users ON Notes.idNumUsers = Users.idNumUsers) LEFT OUTER JOIN Persons ON Notes.idNumPersons = Persons.idNumPersons;"

Medlem sedan dec. 20025 483 inlägg
256 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)