sql - 如何从 2 个连接表中检索数据 - 帐户和别名?
问题描述
我有 2 个表,帐户和别名,其中包含电子邮件帐户以及应该重定向到谁的内容:
accounts:
id
name
domain_name
aliases:
id
source_account_id
destination_account_id
status
如何在给定源的情况下返回目标电子邮件?我试过这个:
SELECT concat(ac.name, '@', ac.domain_name) as destination
FROM accounts ac
INNER JOIN aliases as al1 ON al1.source_account_id = ac.id
INNER JOIN aliases as al2 ON al2.destination_account_id = ac.id
WHERE
concat(ac.name, '@', ac.domain_name) = '%s'
AND al1.status = 'active'
AND al1.id = al2.id;
但它没有按预期工作
解决方案
您需要使用该account
表两次,如下所示:
SELECT concat(d.name, '@', d.domain_name) as destination
FROM accounts s
INNER JOIN aliases a ON a.source_account_id = s.id
INNER JOIN ACCOUNTS D ON a.destination_account_id = d.id
WHERE concat(s.name, '@', s.domain_name) = '%s'
AND a.status = 'active' ;
推荐阅读
- regex - ls 命令排除以
- ios - 在 UITableview 中删除一行时在底部插入新行
- python - 将自定义函数应用于图像中每个像素的快速方法
- python - 我忘记关闭 tf.InteractiveSession,如何杀死任何剩余的进程?
- ios - 如何在 Alamofire Get Request 中调用包含变量或常量的 Struct 到 Dictionary
- python - 如何将包含列表的列表列表转换为 DataFrame
- html - Ionic 3图像未在页面上呈现
- c++ - 使用来自 Bag of Word 的 vocab 构建的 SVM 分类
- cors - CORS:login.windows.net 来源为空
- python - 如何让我的远程服务器上产生进程?