J'ai trois tables. Un avec notes Notes
, un avec les utilisateurs Users
, et une table relationnelle entre les utilisateurs et les notes NotesUsers
.Comment JOIN SELECT de plusieurs tables, où SELECTS est basé sur des conditions différentes?
utilisateurs
user_id first_name last_name
1 John Smith
2 Jane Doe
Remarques
note_id note_name owner_id
1 Math 1
2 Science 1
3 English 2
NoteUsers
user_id note_id
1 1
2 1
2 2
2 3
Espérons que de l'instruction select, vous pouvez dire ce que je suis en train de faire. J'essaie de sélectionner les notes auxquelles user_id = 2
a accès mais ne possède pas nécessairement, mais aussi avec cela j'essaie d'obtenir le prénom et le nom du propriétaire.
SELECT Notes.notes_id, note_name
FROM Notes, NotesUsers
WHERE NotesUsers.note_id = Notes.note_id AND NotesUsers.user_id = 2
JOIN SELECT first_name, last_name FROM Users, Notes WHERE Notes.owner_id = Users.user_id
Mon problème est que parce que la clause WHERE
pour first_name
et last_name
par rapport à celle pour notes
sont différents, je ne sais pas comment interroger les données. Je comprends que ce n'est pas comment un JOIN
fonctionne et je ne veux pas nécessairement utiliser un JOIN
, mais je ne suis pas sûr de savoir comment structurer la déclaration, alors je l'ai laissé là pour que vous puissiez comprendre ce que je suis essayer de faire.