Задать вопрос
maxkhrichtchatyi
@maxkhrichtchatyi
Web-develover & Software Engineer

INNER JOIN связка двух таблиц или нужен пинок нужную сторону

Не пойму почему не работает выражение

Есть две таблицы:
CREATE TABLE `country` (
  `id` smallint(4) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `code` varchar(3) NOT NULL,
  `currency_code` varchar(3) NOT NULL,
  UNIQUE KEY `id` (`id`,`name`,`code`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

CREATE TABLE `currency` (
  `code` varchar(3) NOT NULL,
  `name` varchar(50) NOT NULL,
  `symbol` char(1) NOT NULL,
  `bank_code` int(10) unsigned NOT NULL,
  UNIQUE KEY `code` (`code`,`name`,`symbol`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

SELECT *
FROM `country`
INNER JOIN `currency` ON `currency`.`code` = `country`.`currency_code`
GROUP BY `country`.`currency_code`

Я знаю код страны RU (например) он у нас в табл. country, теперь хочу узнать какой код bank_code имеет валюта в каждой из имеющихся в country стран.
  • Вопрос задан
  • 2480 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
`currency_code` varchar(3) Лучше ID записывать и сделать тип поля INT

UPD:
--
-- Структура таблицы `country`
--

CREATE TABLE IF NOT EXISTS `country` (
  `id` smallint(4) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `code` int(11) unsigned NOT NULL,
  `currency_code` varchar(3) NOT NULL,
  UNIQUE KEY `id` (`id`,`name`,`code`),
  KEY `code` (`code`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

-- --------------------------------------------------------

--
-- Структура таблицы `currency`
--

CREATE TABLE IF NOT EXISTS `currency` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `code` varchar(3) NOT NULL,
  `name` varchar(50) NOT NULL,
  `symbol` char(1) NOT NULL,
  `bank_code` int(10) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `code` (`code`,`name`,`symbol`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


Запрос
SELECT *
FROM
  `currency`
  INNER JOIN `country` ON (`currency`.`id` = `country`.`code`)
Ответ написан
Комментировать
pavel_salauyou
@pavel_salauyou
Symfony2 & Angular разработчик
а с чего вы решили что не работает? в чём конкретно проблема?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы