2017-04-06 12 views
0

私は2つの条件がある左結合クエリを実装しようとしています。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` 

を行う場合にも、それはきれいになりますが、実際にデータを出力して、所望の出力を見ることなく、あなたのクエリで間違っているものを言うことはできません。あなたのクエリはを表示するように指示しますが、referral_codeまたはsub_referral_code = 'Cx0mSU3axal8'のアフィリエイトからユーザのテーブル(左側の結合)にreferral_codeまたはsub_referral_codeが存在するかどうかを示す date_createdを表示します。 )をref_code = 'Cx0mSU3axal8'のユーザーから削除します。

何か不足していますか?

+1

表示されている出力と私が期待している出力を参照するために私の投稿に写真をいくつか追加しました。 –

+0

ステータスが正しく表示されない場合は、私が投稿したクエリを試すことができます。 – Learning

+0

私はあなたが結果に重複したレコードを持っているのを見ています。 ユーザーのテーブルレコードを確認し、サンプルにreferralとsub_referralを含めるとよいでしょう。 – Learning

関連する問題