Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql连接表单独的数据库到表行_Mysql_Join - Fatal编程技术网

mysql连接表单独的数据库到表行

mysql连接表单独的数据库到表行,mysql,join,Mysql,Join,我有一个使用两个数据库的查询。 其中一个表中的表名是另一个表中的一行。我需要将这两个结果连接到一个查询: SELECT min(`price_client`) AS price From database2.`$propertyname` ($propertyname = name for the table) SELECT internet, text_esp, pool, bedrooms, bathrooms, air, image FR

我有一个使用两个数据库的查询。 其中一个表中的表名是另一个表中的一行。我需要将这两个结果连接到一个查询:

    SELECT min(`price_client`) AS price 
        From database2.`$propertyname` ($propertyname = name for the table)

    SELECT internet, text_esp, pool, bedrooms, bathrooms, air, image
        FROM database1.2buscador 
        where id_propiedad = '$propertyname'
有可能加入他们吗? 在本例中,$propertyname是表的名称
Alicate\u Playa

数据库和表就是这样的, 两个数据库位于同一台服务器上:

    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS 
    */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;

    --
    -- Database: `database2`
    --

    CREATE TABLE `Alicate_Playa` (
    `ID` int(5) NOT NULL,
    `cal_date` date DEFAULT NULL,
    `price_owner` decimal(12,2) DEFAULT NULL,
    `price_client` decimal(12,2) DEFAULT NULL,
    `description` varchar(10) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    INSERT INTO `Alicate_Playa` (`ID`, `cal_date`, `price_owner`, 
    `price_client`, `description`) VALUES
    (1, '2017-09-01', '1.00', '158.00', 'baja'),
    (2, '2017-09-02', '1.00', '158.00', 'baja'),
    (3, '2017-09-03', '1.00', '175.00', 'baja'),
    (4, '2017-09-04', '1.00', '175.00', 'baja');



    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS 
    */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;

     --
     -- Database: `database1`
     --

    CREATE TABLE `2buscador` (

    `id` int(11) NOT NULL,
    `id_propiedad` varchar(30) NOT NULL DEFAULT '',
    `text_esp` mediumtext NOT NULL,
    `internet` varchar(40) NOT NULL,
    `pool` varchar(7) NOT NULL DEFAULT '',
    `bedrooms` tinyint(2) NOT NULL DEFAULT '0',
    `bathrooms` tinyint(1) NOT NULL DEFAULT '0',
    `air` char(2) NOT NULL DEFAULT '',
   `image` varchar(100) NOT NULL DEFAULT
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    INSERT INTO `2buscador` (`id`, `id_propiedad`, `
    `pool`, `bedrooms`, `bathrooms`, `air`, `text_esp`, 
   `image`, `internet `) 
    VALUES (88, 'Alicate_Playa', '2', 'si', 2, 2, 'si', 
    , Lorem ipsum etc.', '/includes/ Alicate_Playa/1232..jpg', 
    'si',);
SELECT t2.min(`price_client`), t1.internet, t1.text_esp, t1.pool, t1.bedrooms, t1.bathrooms, t1.air, t1.image AS price 
    FROM database2.`$propertyname` t1 
    JOIN database1.table t2 ON t1.property = t2.`$propertyname`;  

这是可能的,但两个DBs必须位于同一台服务器上:

    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS 
    */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;

    --
    -- Database: `database2`
    --

    CREATE TABLE `Alicate_Playa` (
    `ID` int(5) NOT NULL,
    `cal_date` date DEFAULT NULL,
    `price_owner` decimal(12,2) DEFAULT NULL,
    `price_client` decimal(12,2) DEFAULT NULL,
    `description` varchar(10) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    INSERT INTO `Alicate_Playa` (`ID`, `cal_date`, `price_owner`, 
    `price_client`, `description`) VALUES
    (1, '2017-09-01', '1.00', '158.00', 'baja'),
    (2, '2017-09-02', '1.00', '158.00', 'baja'),
    (3, '2017-09-03', '1.00', '175.00', 'baja'),
    (4, '2017-09-04', '1.00', '175.00', 'baja');



    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS 
    */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;

     --
     -- Database: `database1`
     --

    CREATE TABLE `2buscador` (

    `id` int(11) NOT NULL,
    `id_propiedad` varchar(30) NOT NULL DEFAULT '',
    `text_esp` mediumtext NOT NULL,
    `internet` varchar(40) NOT NULL,
    `pool` varchar(7) NOT NULL DEFAULT '',
    `bedrooms` tinyint(2) NOT NULL DEFAULT '0',
    `bathrooms` tinyint(1) NOT NULL DEFAULT '0',
    `air` char(2) NOT NULL DEFAULT '',
   `image` varchar(100) NOT NULL DEFAULT
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    INSERT INTO `2buscador` (`id`, `id_propiedad`, `
    `pool`, `bedrooms`, `bathrooms`, `air`, `text_esp`, 
   `image`, `internet `) 
    VALUES (88, 'Alicate_Playa', '2', 'si', 2, 2, 'si', 
    , Lorem ipsum etc.', '/includes/ Alicate_Playa/1232..jpg', 
    'si',);
SELECT t2.min(`price_client`), t1.internet, t1.text_esp, t1.pool, t1.bedrooms, t1.bathrooms, t1.air, t1.image AS price 
    FROM database2.`$propertyname` t1 
    JOIN database1.table t2 ON t1.property = t2.`$propertyname`;  

请看:“database1.tb t1 join database2.tb t2 on t1.property=t2.property”@草莓我已经编辑并添加了表结构,希望现在清楚了,thanks@ShibinRaju Mathew我尝试过你的解决方案,但没有成功。谢谢进度报告。完成所有项目后请告诉我们。谢谢,但没有成功,可能我没有解释我自己,我已经编辑并放置了表格的结构。我得到了一些错误,比如t2.min不是函数,t2.$propertyname不是列,这是真的,它是表的名称