Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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第2部分,根据另一个表中的现有条目添加条目_Mysql - Fatal编程技术网

使用MYSQL第2部分,根据另一个表中的现有条目添加条目

使用MYSQL第2部分,根据另一个表中的现有条目添加条目,mysql,Mysql,我试图根据MySQL的另一个表中的现有条目添加条目:但是“解决方案”(我以前问过另一个问题)在我的数据上无法正常工作,我不知道为什么 以下是我从中得到解决方案的问题: 以下是我的查询,我在其中创建必要的表并导入数据: CREATE TABLE `EMailImport` (user_id VARCHAR(20), `E-Mail` VARCHAR(150)); LOAD DATA LOCAL INFILE 'C:/Users/xyz/Desktop/X/export.csv' INTO TA

我试图根据MySQL的另一个表中的现有条目添加条目:但是“解决方案”(我以前问过另一个问题)在我的数据上无法正常工作,我不知道为什么

以下是我从中得到解决方案的问题:

以下是我的查询,我在其中创建必要的表并导入数据:

CREATE TABLE `EMailImport` (user_id VARCHAR(20), `E-Mail` VARCHAR(150));
LOAD DATA LOCAL INFILE 'C:/Users/xyz/Desktop/X/export.csv' 
INTO TABLE `EMailImport` 
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n';
DELETE FROM `EMailImport` LIMIT 1;
CREATE INDEX X ON `EMailImport` (`E-Mail`);
CREATE TABLE ABC AS SELECT customerID, ordernumber, `customersEmail`
FROM orders GROUP BY `customersEmail`;
CREATE INDEX Y ON ABC (`customersEmail`);
以下是我尝试的两个查询(我在中使用了解决方案):

两者都在工作,但它们对每个条目都显示“否”(不正确的内容):错误/问题在哪里


Info
:表ABC中列的数据类型为:customerID=int(10);ordernumber=varchar(50),CustomerEmail=varchar(255)

使用左连接和合并不是更简单吗

SELECT ABC.*,
    CASE WHEN EMailImport.`E-Mail` IS NULL THEN 'No' ELSE 'Yes' END
    AS `Did the customer ordered already?` 
FROM ABC LEFT JOIN EMailImport on EMailImport.`E-Mail` = ABC.customersEmail
请不要使用“代码>电子邮件E/CODE”之类的术语,在其中间用<代码> ->代码>作为列名。请尝试使用所有小写字母作为列和表名。并给出有意义的名称,而不是
ABC

像ordernumber这样的数字列应该是数字的(在本例中是int),而不是varchar


最后一个但并非最不重要的冗长列别名,如
客户是否已订购?
很少使用。这是在显示时在应用层执行的操作。

似乎也不起作用:不知道错误在哪里……请不要使用“不起作用”这一术语。清楚地解释发生了什么。好的,对不起-EMailImport时有第三列名为CASE。
E-Mail
为空,然后“No”或“Yes”结束,此列中的所有条目都为No(有什么不正确,因为表ABC中的一些EmailAddress肯定存在于EMailImport中),这不是添加列别名的问题吗`客户已经订购了吗?通过使用一些样本数据更新您的问题,让我们相信结果是错误的ABC是否包含有效数据?是的,大约300.00条/行
SELECT ABC.*,
    CASE WHEN EMailImport.`E-Mail` IS NULL THEN 'No' ELSE 'Yes' END
    AS `Did the customer ordered already?` 
FROM ABC LEFT JOIN EMailImport on EMailImport.`E-Mail` = ABC.customersEmail