2017-04-06 126 views
0

我想实现一个左连接查询,其中我有2个条件。使用左连接和两个条件

下面是我当前的查询,但它不显示正确的数据。我做得对吗?

SELECT a.date_created, u.id, CASE WHEN a.status = 0 THEN 'Not Verified' ELSE 'Verified' END AS status 
    FROM affiliates a left join users u 
    ON a.referral_code =u.ref_code OR a.sub_referral_code = u.ref_code 
    WHERE a.referral_code = 'Cx0mSU3axal8' OR a.sub_referral_code = 'Cx0mSU3axal8'; 

Here is the output

This must be the result

欣赏这个你的帮助。谢谢!

+1

您可以添加一些示例数据,当前输出和预期输出吗? –

+1

我已更新我的帖子(添加了一些图片供参考) –

+1

@giogio - 请添加样本输入数据,根据您期望的结果。另外,请不要发布图片。发布文本表格。目前还不清楚您的预期产出背后的逻辑是什么。它是最新的ID吗? – GurV

回答

1

我已经解决了我的问题。我对查询的条件部分有点困惑。 这里是我所做的工作查询:

SELECT a.date_created, u.id, CASE a.`status` WHEN 0 THEN 'Not Verified' ELSE 'Verified' END AS `status` 
FROM affiliates a left join users u 
ON a.email = u.email 
WHERE a.referral_code = 'Cx0mSU3axal8' OR a.sub_referral_code = 'Cx0mSU3axal8'; 

还是感谢所有的反馈。我很感激!

0

你能详细说明你的意思是不显示正确的数据吗?如果您有样本数据和您正在运行上述查询的示例输出以及需要显示哪些数据,我将不胜感激。

此外,如果你做

CASE a.`status` WHEN 0 THEN 'Not Verified' ELSE 'Verified' END AS `status` 

真的不能告诉什么是错的查询没有看到数据,输出与所需输出看起来会更清洁。虽然您的查询告诉我,您要显示全部 date_created从其中referral_code或sub_referral_code ='Cx0mSU3axal8'是否referral_code或sub_referral_code存在于用户表(左连接)和id(如果未在关联表中找到输出可为null )来自ref_code ='Cx0mSU3axal8'的用户。

我错过了什么吗?

+1

我在我的文章中添加了一些图片,以便它显示的输出和我期望的输出参考。 –

+0

如果只有未正确显示的状态,您可以尝试我发布的查询。 – Learning

+0

我看到你在结果中有重复的记录你确定它是左连接,你需要而不是内部连接? 很高兴看到用户表记录并在示例中包含引荐和次推荐。 – Learning