我创建了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
获取email
。然后,我需要为txn_type
payments_data.subscr_id=users.subscr_id
基本上我想让txn_type
获得特定email
。我尝试用JOIN解决这个问题,但我的理解是浅薄的......任何想法如何创建它?
答案 0 :(得分:2)
使用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'