簡體   English   中英

一個從兩個MySQL表中選擇數據的語句。 顯示名稱而不是ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM