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 如何使用Prestashop的backoffice sql manager从两个不同的表导出用户数据?_Mysql_Sql_Prestashop_Prestashop 1.6 - Fatal编程技术网

Mysql 如何使用Prestashop的backoffice sql manager从两个不同的表导出用户数据?

Mysql 如何使用Prestashop的backoffice sql manager从两个不同的表导出用户数据?,mysql,sql,prestashop,prestashop-1.6,Mysql,Sql,Prestashop,Prestashop 1.6,我不擅长sql,所以我需要帮助导出我客户的名字、电子邮件地址、他们的国家/地区,如果可能的话,还需要导出他们上次访问商店的时间 我通过以下查询获得了电子邮件和名字: SELECT firstname, lastname, email, active FROM psdb_customer 据我所知,由于另一个数据存储在不同的db表中,我应该使用联接从两个表中获取数据,但我还没有弄清楚如何进行 任何帮助都是受欢迎的过去,我曾帮助过一些人做过类似的事情。这个查询应该可以工作,只需记住,要获得客户的

我不擅长sql,所以我需要帮助导出我客户的名字、电子邮件地址、他们的国家/地区,如果可能的话,还需要导出他们上次访问商店的时间

我通过以下查询获得了电子邮件和名字:

SELECT firstname, lastname, email, active FROM  psdb_customer
据我所知,由于另一个数据存储在不同的db表中,我应该使用联接从两个表中获取数据,但我还没有弄清楚如何进行


任何帮助都是受欢迎的

过去,我曾帮助过一些人做过类似的事情。这个查询应该可以工作,只需记住,要获得客户的国家/地区,他们至少应该注册一个地址,当然我使用的是默认的db前缀:

SELECT a.`firstname`,
       a.`lastname`,
       a.`email`,

  (SELECT c.`date_add`
   FROM `ps_guest` g
   LEFT JOIN `ps_connections` c ON c.`id_guest` = g.`id_guest`
   WHERE g.`id_customer` = a.`id_customer`
   ORDER BY c.`date_add` DESC LIMIT 1) AS `last_activity`,

  (SELECT cl.`name`
   FROM `ps_address` ad
   LEFT JOIN `ps_country_lang` cl ON cl.`id_country` = ad.`id_country`
   WHERE ad.`id_customer` = a.`id_customer`
   ORDER BY ad.`id_address` DESC LIMIT 1) AS `country_name`

FROM `ps_customer` a

Rolige的答案正是我想要的

这是另一个允许按国家筛选结果的查询(使用id\u country)


您能提供一些示例数据和预期结果吗?假设客户的国家/地区存储在名为customer_location的表中,他的姓名和电子邮件存储在名为customer_data的表中。我期望的数据是一个从这两个表中提取的用户名、电子邮件和国家的表。其他人向我提供了另一个查询,该查询不包括最后一个活动,而您的查询包含最后一个活动。
SELECT SQL_CALC_FOUND_ROWS  a.`id_address`,
a.firstname as firstname,
a.lastname as lastname,
cl.id_country as country, cl.`name` as country
FROM `ps_address` a
LEFT JOIN `ps_country_lang` cl ON (cl.`id_country` = a.`id_country`
AND cl.`id_lang` = 1)
LEFT JOIN `ps_customer` c ON a.id_customer = c.id_customer
WHERE 1 AND a.id_customer != 0
AND c.id_shop IN (1)
AND a.`deleted` = 0
AND cl.`id_country` = '8'
ORDER BY a.`id_address` ASC