2017-01-03 82 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。 「select A.」Address_of_New_Home「,A。」Sq_Ft「 from」Amazon「.salesdatapcr A INNER JOIN」Amazon「.salesdatapcr B on A.」Address_of_New_Home「= B.」Address_of_New_Home「and A.Sq_Ft <> B. 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地址的多個OCCURENCES表列出行:

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 

你也可以同樣使用EXISTSIN來實現這一點。 ORDER是爲了讓事情更清晰。

+0

我不知道哪一個標記正確。這兩個都是很棒的答案。 –