2017-06-26 2 views
0

こんにちはあなたは私のSQLのCASE文でみんな私を助けるか、私はどのようにデータを操作します。私は私の行の値の同じ値を検索しようとしていた..それらが同じ場合、私のデータベース内の同じ名前を持つ値が1の一時的な列を与えます。 ex。これは私はどのように私の行に同じ値を見つけてケースに入れます

id  company 
------|----------- 
    1 | Inzpect 
    2 | Meralco 
    3 | Ginebra 
    4 | Inzpect 

私のSQLは

SELECT company, (CASE WHEN company = 'Inzpect' THEN 1 ELSE 0 END) AS external_customer FROM tbl_reports 

結果が

company external 
---------|----------- 
Inzpect |  1 
Meralco |  0 
Ginebra |  0 
Inzpect |  1 

ですが、どのように私はもはやに「Inzpect」という文字列を使用しますデータを操作することができている私のテーブルですCASEを実行し、手動で値を入力せずに行の同じ値を自動的に見つける別のステートメントに変更します。

CASE WHEN company = 'Inzpect' 
+0

'しかし、どのように私はdata'を操作することができます...あなたがここに何を求めているまで、あなたは私を持っていましたか? –

+0

私は同じ値を自動的に見つけて、ここで同じ値を持つ文字列データを使用しないように変更しようとしています。 "WHEN company = 'Inzpect'" –

+1

あなたは「hi」で私を失ってしまいました。 – Strawberry

答えて

1

欲しいものをこれです:

SELECT 
    t1.company, 
    CASE WHEN t2.company IS NOT NULL THEN 1 ELSE 0 AS external 
FROM tbl_reports t1 
LEFT JOIN 
(
    SELECT company 
    FROM tbl_reports 
    GROUP BY company 
    HAVING COUNT(*) > 1 
) t2 
    ON t1.company = t2.company 
+0

はいsr ..ありがとうたくさん.. –

+0

月ごとに同じ値を持つすべての行が1行としてグループ化される場合は 例がある場合 2つの同じ行の値が1ヶ月でグループ化されます1行だけですが、月ごとに同じ値を持つすべての行が1でグループ化されるわけではありません。 –

+0

@ElliJoshuaRey質問を更新し、日付/月情報を含む表データを表示してください。さらに良いことは、新しい質問をすることです。 –

関連する問題