我是sql新手,我有一个看似简单的问题,但我不知道该怎么办。
我有两张table,一张付款,一张证书。我要返回满足条件的所有证书,即它们的公钥在payment表中的未付行中。我尝试使用join,但是当我 只是想要证书。
这是付款表:
以下是证书表:
以下是我尝试加入的内容:
SELECT *
FROM certificate
WHERE created_at BETWEEN '${beginDate}' AND '${endDate}'
LEFT JOIN payment ON certificate.public_key = payment.certificate_id;
2条答案
按热度按时间vu8f3i0k1#
我要返回满足条件的所有证书,即它们的公钥在payment表中的未付行中。
如果我跟对了,你可以用
exists
:注意,根据您的问题描述,我在
payment(status)
.这种方法的好处是它不会复制
certificate
行中有多个匹配的“未付”行payment
table。unftdfkk2#
我要返回满足条件的所有证书,即它们的公钥在payment表中的未付行中。
这就意味着:
不需要外部联接,并且
JOIN
是中的操作员FROM
条款。