2つのテーブルから、特定のカラムを結合して抽出したい
2つのテーブルから、特定のカラムを結合して抽出したいのですが、方法が思いつかないため教えていただきたいです。
具体的には、テーブル'countries'とテーブル'pairings'(テーブルの構造は該当するソースコードに記載)から、参考画像のように、3つのカラム(kickoff, my_country, enemy_country)を抽出したいです。
参考画像
該当するソースコード
-- テーブルの構造 `countries`
--
CREATE TABLE `countries` (
`id` int(11) NOT NULL,
`name` varchar(50) DEFAULT NULL,
`ranking` int(11) DEFAULT NULL,
`group_name` varchar(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- テーブルのデータのダンプ `countries`
--
INSERT INTO `countries` (`id`, `name`, `ranking`, `group_name`) VALUES
(1, 'ブラジル', 3, 'A'),
(2, 'メキシコ', 20, 'A'),
(3, 'カメルーン', 56, 'A'),
(4, 'クロアチア', 18, 'A'),
(5, 'スペイン', 1, 'B'),
(6, 'オランダ', 15, 'B'),
(7, 'チリ', 14, 'B'),
(8, 'オーストラリア', 62, 'B'),
(9, 'コロンビア', 8, 'C'),
以下省略
-- テーブルの構造 `pairings`
--
CREATE TABLE `pairings` (
`id` int(11) NOT NULL,
`kickoff` datetime DEFAULT NULL,
`my_country_id` int(11) DEFAULT NULL,
`enemy_country_id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- テーブルのデータのダンプ `pairings`
--
INSERT INTO `pairings` (`id`, `kickoff`, `my_country_id`, `enemy_country_id`) VALUES
(1, '2014-06-13 05:00:00', 1, 4),
(2, '2014-06-14 01:00:00', 2, 3),
(3, '2014-06-14 04:00:00', 5, 6),
(4, '2014-06-14 07:00:00', 7, 8),
(5, '2014-06-15 01:00:00', 9, 10),
(6, '2014-06-15 04:00:00', 13, 14),
(7, '2014-06-15 07:00:00', 15, 16),
(8, '2014-06-15 10:00:00', 11, 12),
(9, '2014-06-16 01:00:00', 17, 18),
(10, '2014-06-16 04:00:00', 19, 20),
以下省略
自分で試したこと
select pairings.kickoff, countries.name AS 'my_coutry', countries.name AS 'enemy_coutry'
from countries LEFT OUTER JOIN pairings ON countries.id = pairings.my_country_id;
上記コードで試してみて、当然ですが、my_country,enemy_countryどちらにも同じ国名が表示されました。
0