我的資料庫中有 3 個表,如下所示:
主表
| 團隊編號 | 姓名 ID |
|---|---|
| 設定 ID 1 | 姓名 ID 1 |
| 設定 ID 1 | 名稱 ID 2 |
| 設定 ID 1 | 姓名 ID 3 |
| 設定 ID 2 | 姓名 ID 1 |
| 設定 ID 2 | 名稱 ID 2 |
名稱表
| 姓名 ID | 姓名 |
|---|---|
| 姓名 ID 1 | (插入隨機名稱) |
| 名稱 ID 2 | (插入更多亂碼) |
團隊表
| 團隊編號 | 姓名 |
|---|---|
| 團隊 ID 1 | (插入隨機集名稱) |
| 團隊 ID 2 | (插入一些亂碼) |
基本上我試圖用名稱而不是 ID 替換主表,如下所示:
| 團隊 | 姓名 |
|---|---|
| 復仇者聯盟 | 美國隊長 |
| 復仇者聯盟 | 蜘蛛俠 |
| 復仇者聯盟 | 鷹眼 |
| 險惡 6 | 電 |
| 險惡 6 | 神秘客 |
我正在使用以下代碼,但似乎不想作業
select name.name, team.name
from main_table main
inner join team_table team
on main.team_id = team.team_id
inner join name_table name
on main.name_id = name.name_id
有什么我做錯了嗎?:(
uj5u.com熱心網友回復:
查詢作業得很好。必須將順序定義為結果集本質上是未排序的
CREATE TABLE Main_table ( `Team ID` INTEGER, `Name ID` INTEGER ); INSERT INTO Main_table (`Team ID`, `Name ID`) VALUES ('1', '1'), ('1', '2'), ('1', '3'), ('2', '1'), ('2', '2');
CREATE TABLE Name_Table ( `Name ID` INTEGER, `Name` VARCHAR(5) ); INSERT INTO Name_Table (`Name ID`, `Name`) VALUES ('1', 'name1'), ('2', 'name2'), ('3', 'name3'), ('4', 'name4');
CREATE TABLE Team_Table ( `Team ID` INTEGER, `Name` VARCHAR(5) ); INSERT INTO Team_Table (`Team ID`, `Name`) VALUES ('1', 'team1'), ('2', 'team2');
SELECT t.Name,n.Name FROM Main_table m INNER JOIN Name_Table n ON n.`Name ID` = m.`Name ID` INNER JOIN Team_Table t ON t.`Team ID` = m.`Team ID` ORDER BY t.name,n.Name姓名 | 姓名 :---- | :---- 團隊1 | 名稱1 團隊1 | 名稱2 團隊1 | 名稱3 團隊2 | 名稱1 團隊2 | 名稱2
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/450593.html
