2017-01-03 8 views
0

異なるSq_ft値を持つ単一のアドレスが多数あります(これはそうではありません)。同じアドレスのSq_Ftの値が異なる列を解析したい。これを行う上で私を助けるwhere節に何を追加できますか?私はSq_ftとは別の構文を追加しようとしましたが、無駄です。列の値が異なる

例:

Address of New Home      Sq_Ft 
1234 Obama Drive       2,578 
1234 Obama Drive       2,586 

select "Address_of_New_Home","Sq_Ft" 
from "Amazon".salesdatapcr 
where "Sq_Ft" <> 
order by 1 
+1

は自己を実行し、アドレスに参加し、<> sq_ft比較。 '" Address_of_New_Home "= B." Address_of_New_Home "とA.Sq_Ft <> B." A. "Address_of_New_Home"、A。 "Sq_Ft""Amazon" .salesdatapcr A INNER JOIN "Amazon" .salesdatapcr BをA. Sq_Ft order by 1' – xQbert

答えて

3

EXISTSオペレータと相関サブクエリの使用:

select "Address_of_New_Home","Sq_Ft" 
from "Amazon".salesdatapcr t1 
where EXISTS (
    SELECT null from "Amazon".salesdatapcr t2 
    WHERE t1."Address_of_New_Home" = t2."Address_of_New_Home" 
    and t1."Sq_Ft" <> t2."Sq_Ft" 
) 
order by 1 
+0

私は正しいものをマークするのか分かりません。両方とも素晴らしい答えです。 –

+0

あなたが知っていないならば、マークする答えを決定するためにコインをひっくり返してください。 – krokodilko

2

これは、異なるsq_ftとアドレスの複数の出現箇所がある対象のテーブルから行をリスト表示します:

SELECT salesdt.* 
FROM "Amazon".salesdatapcr salesdt 
JOIN (
    SELECT 
    "Address_of_New_Home" AS home_address 
    FROM 
    "Amazon".salesdatapcr 
    GROUP BY 1 
    HAVING COUNT(DISTINCT "Sq_Ft") > 1 
) multisqft ON 
    salesdt."Address_of_New_Home" = multisqft.home_address 
ORDER BY multisqft.home_address 

あなただけのようにもEXISTSかを使用することができますこれを達成するためにINORDERは物事をより明確にするためのものです。

+0

どのマークが正しいのか分かりません。両方とも素晴らしい答えです。 –

関連する問題