Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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导入Excel ODBC_Mysql_Excel_Odbc_Ms Query - Fatal编程技术网

从MySQL导入Excel ODBC

从MySQL导入Excel ODBC,mysql,excel,odbc,ms-query,Mysql,Excel,Odbc,Ms Query,我使用MSQuery从ODBC设置中导入excel,我想要的所有数据和行都返回到那里,但是当我将数据发送到excel工作簿时,我缺少3个字段日、月和年。有人能帮我找出原因吗 SELECT contract_0.create_date AS 'Submitted Date', -- abbreviating contract_0.install_date AS 'installed_US', RIGHT(contract_0.install_d

我使用MSQuery从ODBC设置中导入excel,我想要的所有数据和行都返回到那里,但是当我将数据发送到excel工作簿时,我缺少3个字段日、月和年。有人能帮我找出原因吗

SELECT  contract_0.create_date AS 'Submitted Date', 
        -- abbreviating
        contract_0.install_date AS 'installed_US', 
        RIGHT(contract_0.install_date,2) AS 'day', 
        MID(contract_0.install_date,6,2) AS 'month',
        LEFT(contract_0.install_date,4) As 'year'
            -- abbreviating
FROM `web54-reiga-gms`.contact contact_0, `web54-reiga-gms`.contract contract_0, `web54-reiga-gms`.user user_0
WHERE contract_0.contact_id = contact_0.id AND contract_0.user_id = user_0.id
上面是我的MSQuery代码

*编辑**

CREATE TABLE `contract` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `installer` varchar(50) DEFAULT NULL,
  `fitter` varchar(50) DEFAULT NULL,
  `guarantee_no` varchar(50) DEFAULT NULL,
  `contact_id` int(11) DEFAULT NULL,
  `equipment` varchar(32) DEFAULT NULL,
  `certificate_no` varchar(50) DEFAULT NULL,
  `install_date` date DEFAULT '0000-00-00',
  `create_date` date DEFAULT '0000-00-00',
  `edit_date` date DEFAULT '0000-00-00',
  `edited_by` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
我正在Windows 7和MySQL ODBC 3.5上使用Excel 2010

更新**

CREATE TABLE `contract` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `installer` varchar(50) DEFAULT NULL,
  `fitter` varchar(50) DEFAULT NULL,
  `guarantee_no` varchar(50) DEFAULT NULL,
  `contact_id` int(11) DEFAULT NULL,
  `equipment` varchar(32) DEFAULT NULL,
  `certificate_no` varchar(50) DEFAULT NULL,
  `install_date` date DEFAULT '0000-00-00',
  `create_date` date DEFAULT '0000-00-00',
  `edit_date` date DEFAULT '0000-00-00',
  `edited_by` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

您将
install\u date
字段视为字符串。它可能是一个
日期
日期时间
字段,要获得单独的年、月和日值,您应该使用

嗯。正如我所怀疑的,你正在处理一个约会。更换这些线路:

    RIGHT(contract_0.install_date,2) AS 'day', 
    MID(contract_0.install_date,6,2) AS 'month',
    LEFT(contract_0.install_date,4) As 'year',
有了这些:

EXTRACT(YEAR FROM contract_0.install_date) AS 'day', 
EXTRACT(MONTH FROM contract_0.install_date) AS 'month',
EXTRACT(DAY FROM contract_0.install_date) As 'year',

我可以把我的服务器详细信息发电子邮件给你吗?贾斯汀:请不要这样做。这不是它应该起作用的方式。您是否可以生成表的创建脚本,更改任何可能暴露敏感信息的内容并将其添加到您的帖子中?感谢您在MsQuery中尝试了此操作,我得到-无法添加表“contract\u 0.install\u date”)。此错误与我/我们所做的任何操作无关。请检查以确保连接到正确的数据库以及查询的整体语法。也许在另一个问题中重新发布该查询和错误。@JustinErswell让我们简化您的查询以进行故障排除。您可以通过删除除contract_0表以外的所有表来进一步简化它,因为它们在这个问题中并不重要。