[英]Is it possible to combine many-to-many relationships with one-to-many relationships in a single query?
[英]How to handle many-to-many relationships in a single sql query?
我整個上午都在運行SQL調用,但是沒有運氣來獲取要返回的正確類型的數據。 我進行了一些搜索,發現了有關Joining 2 table的一些信息,但是沒有任何信息可以從表中獲取,也可以從表中獲取。 用措辭聽起來有些混亂,所以我制作了一張我想獲取的信息的圖表。
我已經嘗試過諸如
select * from Users
left join UserLibs on UserLibs.userId = Users.UserId
WHERE Users.username='testname'
但是,這並沒有給我庫名。
因此,我厭倦了將該列與另一個表和列一起加入。
select * from users
left join UserLibs on userLibs.userId = Users.UserId AND left join Libraries on UserLibs.libraryId = Libraries.libraryName
where Users.username='test';
這也沒有產生結果,只是錯誤。 任何幫助都會很棒。
我只想添加適合我的情況的最終解決方案。
SELECT Users.userId, Users.username, Users.editLibraries, Users.editAnnouncements, Users.editServices,
Users.editNormalHours, Users.editSpecialHours, Users.editUsers, Users.editSemesters,
Libraries.libraryName, LibraryDepartment.departmentName
FROM Users
LEFT JOIN UserLibs on Users.userId = UserLibs.userId
LEFT JOIN Libraries on UserLibs.libraryId = Libraries.id
LEFT JOIN UserDepts on Users.userId = UserDepts.userId
LEFT JOIN LibraryDepartment on UserDepts.departmentId = LibraryDepartment.ldId
WHERE Users.username='testname';
您不使用AND執行多個聯接。 您只要保持連接表即可。 您可以加入任意多個。 例如:
select *
from users
left join userlibs
on users.userid=userlibs.userid
left join libraries
on userlibs.libraryid=libraries.libraryid
where username='test';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.