Мне нужен объединенный (Union like) результат из нескольких баз данных на одном сервере баз данных в одном запросе. Каждая база данных клиентов содержит таблицу местоположений, и все клиенты перечислены в базовой базе данных.JOIN базы данных от SELECT
Мне не нужно простое соединение между различными базами данных. Мне нужно, чтобы связанное имя базы данных приходилось на тот же запрос.
Я фигурирую примерно так.
SELECT customerlist.dbname,customerlist.realname,location.address
FROM core.customerlist
INNER JOIN `customer.dbname`.location
ORDER BY customerlist.realname
Я знаю, что это не сработает, я просто пытаюсь использовать псевдокод, что я ищу. Я надеюсь, что кто-то может помочь.
Структура базы данных:
-- Database: `core`
CREATE TABLE IF NOT EXISTS `customerlist` (
`realname` varchar(20) NOT NULL,
`dbname` varchar(16) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `customerlist` (`realname`, `dbname`) VALUES
('Johnny', 'johnny'),
('Alfred', 'alfred');
-- --------------------------------------------------------
-- Database: `alfred`
CREATE TABLE IF NOT EXISTS `location` (
`address` varchar(20) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `location` (`address`) VALUES
('House Three'),
('Car 1');
-- --------------------------------------------------------
-- Database: `johnny`
CREATE TABLE IF NOT EXISTS `location` (
`address` varchar(20) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `location` (`address`) VALUES
('House One'),
('House Two');
Желаемый результат;
johnny,Johnny,House One
johnny,Johnny,House Two
alfred,Alfred,House Three
alfred,Alfred,Car 1
возможно дубликат [MySQL - соединение между таблицами в двух разных базах данных?] (http://stackoverflow.com/questions/5698378/mysql-join-between-tables-in-2-different-databases) – bdunn
Я не делал этого раньше, и не делаю даже знаю, можете ли вы это сделать, но вам действительно нужно добавить дополнительную информацию, например, что именно «не работает». Вы получаете сообщение об ошибке? Или просто недействительные данные? В верхней части головы вам следует назначать синонимы этим объявлениям таблиц, если у вас есть одноименные таблицы в нескольких базах данных. – CargoMeister
Каков результат этого? – Joop