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?
8 svar · 555 visningar · startad av skarbratt
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?
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.
Flyttas från ASP
Tabellerna ser ut på följande sätt:
Notes: idNumNote, idNumPersons, idnumUsers, text, etc
Persons: idNumPerson, name, etc
Users: idNumUsers, name, etc
Du måste specificera vilka tabeller du har och vilket resultat du vill uppnå.
Vilken databas du har är också bra att veta.
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
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;"
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;"