从两个不同的表中查询同一列

Querying same column from two different tables

我想获得特定 champion 所在的每个 patch_no,例如'Katarina' 然后我想用 Created 列对那些 Patches 进行排序,这些列在不同的 table 中,Patch_No 连接在 table 之间。

SELECT Patch_No 
  FROM champions , info 
 WHERE Champion = 'Katarina'
 ORDER BY Created DESC

示例 info table:

ID  Patch_No  Created  
165 1.0.0.126 2015-08-22 21:20:03
164 1.0.0.125 2015-08-22 21:03:40
163 1.0.0.124 2015-08-22 19:28:12
162 1.0.0.123 2015-08-22 19:03:59
161 1.0.0.122 2015-08-22 18:12:19
160 1.0.0.121 2015-08-22 17:30:26
159 1.0.0.120 2015-08-21 23:19:16
158 1.0.0.119 2015-08-21 22:13:31
157 1.0.0.118 2015-08-21 21:53:44

和样本 champions table :

ID Patch_No Champion
66 1.0.0.32 Ashe
67 1.0.0.32 Cho’Gath
68 1.0.0.32 1-leimerdinger
69 1.0.0.32 Karthus
70 1.0.0.32 Katarina
71 1.0.0.32 Nunu

你做得很好,只需使用 INNER Join 即可获得想要的结果。您可以根据您希望如何对数据进行排序,在 Order by 子句中使用 ASC 或 DESC。

SELECT C.Patch_No 
  FROM champions C
     INNER JOIN info I ON C.Patch_No  = I.Patch_No 
 WHERE Champion = 'Katarina'
 ORDER BY Created DESC

您可以使用此查询来:

SELECT C.Patch_No 
FROM champions C, info I 
WHERE  C.Patch_No  = I.Patch_No 
AND Champion = 'Katarina'
ORDER BY Created DESC

;-)