11

このテーブルで Self Join を使用する必要があります。

+------------+------+--------+
| Country    | Rank |  Year  |
+------------+------+--------+
|France      |  55  |  2000  |
+------------+------+--------+
|Canada      |  30  |  2000  |
+------------+------+--------+ 
|Liberia     |  59  |  2001  |
+------------+------+--------+ 
|Turkey      |  78  |  2000  |
+------------+------+--------+ 
|Japan       |  65  |  2003  |
+------------+------+--------+
|Romania     |  107 |  2001  |
+------------+------+--------+

トルコと同じ年の国を取得するには、自己結合を使用する必要があります。国と年のみを表示します。

これが私がやろうとしていることです。

SELECT DISTINCT a.Country, a.Year 
FROM table1 AS a, table1 AS b 
WHERE a.Year=b.Year and a.Country='Turkey';

^ セルフジョインをググって作ってみました。

私はトルコだけを手に入れています。私は何を間違っていますか?

4

3 に答える 3

5

a.Country = 'Turkey'に変更b.Country = 'Turkey'

あなたは を持ってSELECT DISTINCT a.Countryいますが、あなたの状態はa.Country = 'Turkey'です。複数の行を取得した場合でも、それらはDISTINCT

于 2013-05-22T21:34:37.610 に答える
0
select distinct country,year from table1 where year=(select year from table  
where country='turkey') and country !=turkey;
于 2015-09-01T14:26:45.603 に答える