我有兩個表:如何編寫SQL查詢,其中一個列返回多個結果C#
用戶:
ID Name
----------------
1 Bob
2 Dave
3 Mike
書籍:
ID UserId BookName
------------------------
1 1 Cat in Hat
2 1 Happy Birthday
3 1 One Fish
4 2 Goldilocks
5 2 Three Crows
6 3 Hitchhikers
用戶ID是一個關鍵的顯示哪些書各用戶擁有
在我的html我想創建看起來像這樣的輸出:
Name Books Owned
-------------------------
Bob Cat in Hat, Happy Birthday, One Fish
Dave Goldilocks, Three Crows
Mike Hitchhikers
目前,我有一個循環,並嵌套查詢這樣做:
var queryusers = db.Query("SELECT * FROM users");
foreach (var user in queryusers) {
<span>@user.name</span>
var querybooks = db.Query("SELECT * FROM books WHERE userid = @0", user.id);
foreach (book in querybooks) {
<span>@book.bookname</span>
}
}
我知道這不是很好,但我不知道如何做到這一點與JOIN。如果我嘗試:
var queryusersandbooks = db.Query("SELECT * FROM users INNER JOIN books ON users.id = books.userid");
我的查詢返回6行,但我只想3.有沒有辦法做到這一點,而無需在迴路中的SQL查詢?
感謝
你可以重新格式化你的表/字段描述嗎?我甚至無法理解它應該看起來像什麼.. – Seano666
我也在你的最後一行似乎你想用戶的書沒有說誰是用戶..是sql .. – scaisEdge
你可以使用查詢使用JOIN然後按用戶標識對項目進行分組並遍歷組。 –