2016-06-28 4 views
0

それぞれのプロパティと、ウェブサイト上の特定のアイコンがあるかどうかを示すテーブルがあります。この表は毎日更新され、日付がスタンプされます。テーブル内の日々の変化を追跡する

テーブルのフィールド:

  • 日付スタンプ、
  • PropertyCode、
  • PropertyName意味、
  • FacilityBabyFriendly、
  • FacilityDogsAccepted、
  • FacilitySwimmingPool、
  • FacilityHotTub、 FacilityInternetAcce SS、
  • FacilitySeaViews、
  • FacilityParkingが

すべてのファシリティフィールドは1または0 [アイコンなし] [アイコンを持っている]として保存されている

私は必要なのは、私を示しクエリがすることで、施設のフィールドのいずれかが毎日変更されている場合は、プロパティ。

誰かが正しい方向に私を指すことができれば、大いに感謝するでしょう。

+0

RDBMSとは何ですか? – Jayvee

+0

申し訳ありませんが、私はそれはMSのSQLだと言っていたはずです。 – Claire

+0

また、FacilityX行のデータ型は何ですか? – Jayvee

答えて

0

次のクエリはあなたに変わっ施設フィールドの少なくとも1つを持っているプロパティのリストが表示されます前日に比べ

SELECT 
    PropertyCode 
    ,PropertyName 
FROM Souce s1 
WHERE 
    DateStamp = Current_Date 
    AND 
    EXISTS 
    (SELECT 1 
     FROM 
    Source s2 
    WHERE 
     s1.PropertyCode=s2.PropertyCode 
     AND DateStamp = Current_Date - 1 Day 
     AND 
     (
     (s1.FacilityBabyFriendly<>s2.FacilityBabyFriendly) 
     OR 
     (s1.FacilityDogsAccepted<>s2.FacilityDogsAccepted) 
     OR 
     (s1.FacilitySwimmingPool<>s2.FacilitySwimmingPool) 
     OR 
     (s1.FacilityHotTub<>s2.FacilityHotTub) 
     OR 
     (s1.FacilityInternetAccess<>s2.FacilityInternetAccess) 
     OR 
     (s1.FacilitySeaViews<>s2.FacilitySeaViews) 
     OR 
     (s1.FacilityParking<>s2.FacilityParking) 
     ) 
    ) 
+0

パーフェクトです。私が望むのと全く同じように動作します。多くのありがとうClaire – Claire

+0

@ Claire:お手伝いします。あなたが満足している場合upvote :) – Srini

0

あなたができることは、任意の変更があった場合を比較するために、各列のハッシュを計算したら:

select hashbytes('MD5',cast(FacilityBabyFriendly * 1000000 + FacilityDogsAccepted * 100000 + FacilitySwimmingPool * 10000 + FacilityHotTub * 1000 + FacilityInternetAccess * 100 + FacilitySeaViews * 10 + FacilityParking 
as varchar(100)) 
) from yourtable 
0

値<> 0手段設備

SELECT DateStamp 
     ,PropertyCode 
     ,PropertyName 
     ,FacilityBabyFriendly - LAG(FacilityBabyFriendly) OVER (PARTITION BY PropertyCode, PropertyName ORDER BY DateStamp) AS FacilityBabyFriendlyChanged 
     ,FacilityDogsAccepted - LAG(FacilityDogsAccepted) OVER (PARTITION BY PropertyCode, PropertyName ORDER BY DateStamp) AS FacilityDogsAcceptedChanged 
     ,FacilitySwimmingPool - LAG(FacilitySwimmingPool) OVER (PARTITION BY PropertyCode, PropertyName ORDER BY DateStamp) AS FacilitySwimmingPoolChanged 
     ,FacilityHotTub - LAG(FacilityHotTub) OVER (PARTITION BY PropertyCode, PropertyName ORDER BY DateStamp) AS FacilityHotTubChanged 
     ,FacilityInternetAccess - LAG(FacilityInternetAccess) OVER (PARTITION BY PropertyCode, PropertyName ORDER BY DateStamp) AS FacilityInternetAccessChanged 
     ,FacilitySeaViews - LAG(FacilitySeaViews) OVER (PARTITION BY PropertyCode, PropertyName ORDER BY DateStamp) AS FacilitySeaViewsChanged 
     ,FacilityParking - LAG(FacilityParking) OVER (PARTITION BY PropertyCode, PropertyName ORDER BY DateStamp) AS FacilityParkingChanged 
FROM YourTable 
を変更したとして
関連する問題