[英]One statement to select data from two MySQL tables. Show name instead of/by ID
我有2張桌子
表.issues看起來像這樣:
id tracker_id project_id
22 1 218
在第二個表.trackers中:
id name
1 Error
是否可以發出一個Select請求,以使用跟蹤器的名稱而不是其ID的結果來返回結果? 我需要它來簡化Java請求。
我想得到這樣的東西:
id (tracker_id) project_id tracker_name
22 (1) 218 Error
我試過了,但是我知道這沒有多大意義:
Statement stmt1 = conn.createStatement();
ResultSet ticketsRows = stmt1.executeQuery("SELECT * FROM issues
WHERE tracker_id IN (SELECT id FROM trackers)");
加入trackers
表,然后從該表中選擇name
列,而不是tracker_id
SELECT i.id, t.name as tracker_name, i.project_id
FROM issues i
JOIN trackers t on i.tracker_id = t.id
將您的查詢更改為:SELECT i.id,i.tracker_id,i.project_id,t.name AS tracker_name從發布問題開始,我在i.tracker_id = t.id上加入了跟蹤器t
這將為您提供確切的答案-
SELECT IS.ID, IS.tracker_id ,IS.project_id , TR.tracker_name
FROM issues IS , tracker TR
where
IS.tracker_id = TR.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.