2017-02-24 8 views
0

ページングされた結果、つまりプロパティというテーブルの2番目の5つのレコードを返す必要があります。これは単独でこのクエリで動作します。SQL Serverでこのクエリに必要な結合

SELECT 
    Property_ID, 
    Property_Type, 
    Address_Line, 
    Area, 
    Postcode, 
    Weekly_Rate 
FROM 
    dbo.Properties 
WHERE 
    Area LIKE '%" + value + "%' 
ORDER BY 
    Property_ID 
    OFFSET " + (start*end) + " ROWS 
    FETCH NEXT " + end + " ROWS ONLY" 

上記のコードはC#を付けて記述しています。

また、ページングされたサブセットで返された各レコードを参照するImagesテーブルの最初のイメージIDが必要です。

私はFULL OUTER JOINを試しましたが、おそらくプロパティごとに複数のイメージがあるため、予想されたものが返されませんでした。

これに対する解決策は素晴らしいと思います!

おかげ

これはほとんど仕事に思えるが、それはエラーを返すだ:

SELECT 
    dbo.Properties.Property_ID, Property_Type, dbo.Images_Table.[URL] 
FROM 
    dbo.Properties p 
OUTER APPLY 
    (SELECT TOP 1 i.* 
    FROM dbo.Images_Table i 
    WHERE i.Property_ID = p.Property_ID 
    ORDER BY i.Image_ID) i 
WHERE 
    p.Area LIKE '%po%' 
ORDER BY 
    p.Property_ID 
    OFFSET 0 ROWS 
    FETCH NEXT 5 ROWS ONLY 

は、これはエラーが返されます。

Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "dbo.Properties.Property_ID" could not be bound.

Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "dbo.Images_Table.URL" could not be bound.

+0

'Properties'テーブルと' Images'テーブルの関係は何ですか?テーブルのスキーマは見やすいでしょう。 –

+0

PROPERTY_IDは画像テーブル – Kieran

答えて

1

あなたはouter applyを使用することができます。

SELECT . . . , i.?? 
FROM dbo.Properties p OUTER APPLY 
    (SELECT TOP 1 i.* 
     FROM images i 
     WHERE i.Property_ID = p.Property_ID 
     ORDER BY i.Image_ID 
    ) i 
WHERE p.Area LIKE '%" + value + "%' 
ORDER BY p.Property_ID 
OFFSET " + (start*end) + " ROWS 
FETCH NEXT " + end + " ROWS ONLY"; 

これは画像を注文する方法について少し投機的です。また、imagesテーブルから必要な列を入力する必要があります。

+0

の外部キーである私は、SQLサーバーでこれを書いている:。 – Kieran

+0

SELECT dbo.Properties.Property_ID、PROPERTY_TYPE、dbo.Images_Tableを[URL] dbo.Properties P OUTER FROM( を適用TOP 1 Iを選択* dbo.Images_TableからのI i.Image_ID BY WHERE i.Property_ID = p.Property_ID ORDER)p.Property_ID BY p.Area LIKE '%の経口%' 順序は+「オフセットI (*開始"末尾)+" ROWS FETCH NEXT "+ end +"行だけ – Kieran

+0

しかし、このエラーが発生します – Kieran

関連する問題