webForumDet fria alternativet

Joina 3 tabeller i SQL

8 svar · 555 visningar · startad av skarbratt

skarbrattMedlem sedan juli 2000325 inlägg
#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?

The_HulkMedlem 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.

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Flyttas från ASP

skarbrattMedlem 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

TravoniMedlem 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.

TainEvilMedlem 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
skarbrattMedlem 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;"

skarbrattMedlem 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;"

Peter SMedlem sedan dec. 20025 483 inlägg
130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)