mysql - 从mysql中的多个表中获取复杂的数据

标签 mysql join

我创建了 2 个具有以下架构的表

CREATE TABLE `users` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `email` varchar(64) DEFAULT NULL,
  `password` varchar(64) DEFAULT NULL,
  `item_name` varchar(11) DEFAULT NULL,
  `subscr_id` varchar(64) DEFAULT NULL,
  PRIMARY KEY (`id`)


CREATE TABLE `payments_data` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `subscr_id` varchar(64) DEFAULT NULL,
  `txn_type` varchar(64) DEFAULT NULL,
  `subscr_date` varchar(64) DEFAULT NULL,
  `period3` varchar(11) DEFAULT NULL,
  `amount3` varchar(64) DEFAULT NULL,
  `item_name` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)

在生产环境中,我将收到一封电子邮件(存储在用户表中),然后获取该电子邮件的subscr_id。然后我需要为其 payments_data.subscr_id=users.subscr_id

的用户获取 txn_type

基本上,我正在尝试获取特定电子邮件txn_type。我尝试用 JOIN 解决这个问题,但我的理解很浅..知道如何创建它吗?

最佳答案

您使用 JOIN 和 WHERE 过滤电子邮件地址的查询应该是这样的。

   SELECT 
      payments_data.txn_type
    FROM 
      users 
    INNER JOIN 
      payments_data
    ON
      users.subscr_id = payments_data.subscr_id
    WHERE
      users.email = 'example@hotmail.com'

关于mysql - 从mysql中的多个表中获取复杂的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44021610/

相关文章:

php - mysqli php 中的 now() 函数

mysql - SQL 子查询作为具有多个 where 子句的列

php - 警告 : mysql_num_rows() expects parameter 1 to be resource, 中给出的 bool 值

mysql - 如何在 bash 脚本中运行所有命令?

MySQL性能: query if an indexed column has a given value

mysql如何对同一个表进行内部连接和第二个内部连接?

mysql - 从左表中选择值并完全连接右表

甲骨文 |从具有一对多关系的表中检索记录

mysql - 如何在 JOINED 表中使用 FIND_IN_SET?

mysql - 如何配置/设计一个每15分钟插入30,000次的表?