2017-08-09 8 views
1

ごとに一つの画像を制限する必要があり、私持っているコミュニティは私がに得る助けた次のクエリ:SQL Serverの - IDごとに複数の画像がID

enter image description here

:次の結果を私に与え

SELECT DISTINCT 
    a.* 
    , cast(b.Bytes as varbinary(max)) as Bytes 

FROM 
    (
SELECT 
    a_inner.Number 
    , a_inner.Latitude 
    , a_inner.Longitude 
    , b_inner.RetiredOn 
    , a_inner.Name 
    , a_inner.Zipcode 
    , b_inner.Oid 

FROM 
    "AM-Martin".dbo.CpCore_Site a_inner 
    INNER JOIN "AM-Martin".dbo.CpSm_Face b_inner on b_inner.SiteId = a_inner.Oid 

WHERE 
    b_inner.RetiredOn LIKE '%9999%' 
    AND b_inner.Number LIKE N'%LA%' OR b_inner.Number LIKE N'%LC%' OR b_inner.Number LIKE N'%BH%' 
    AND b_inner.Latitude > 0.0 


) AS a 
INNER JOIN "AM-Martin_bin".dbo.CpCore_Image b on a.Oid = b.OwnerId 

各Oidには複数のイメージが割り当てられているため、重複が発生しているようです。私はoidごとに1つの画像に私の結果を制限しようとしているので、重複はありません。どんな助けでも大歓迎です。

答えて

0

これはあなたのCoreテーブルの場合:

SELECT 
    a_inner.Number 
    , a_inner.Latitude 
    , a_inner.Longitude 
    , b_inner.RetiredOn 
    , a_inner.Name 
    , a_inner.Zipcode 
    , b_inner.OiD 
FROM 
    "AM-Martin".dbo.CpCore_Site a_inner 

は、変更しよう:

LEFT JOIN Instead of Inner Join as well as below query. 
+0

私はあなたの実際のデータを持っていないので、それをテストすることは容易ではありません。 –

関連する問題