前提・実現したいこと
前提
postgreSQL
言語php
フレームワーク Laravel
DBのデータ key=id
id=1 name=ピアノ last_update_time=2019/01/01 01:01:01 id=2 name=カバン last_update_time=2019/01/01 01:01:01
更新用配列(array)
list[ id=1 name=ピアノ last_update_time=2019/01/01 01:01:01 , id=2 name=カバン last_update_time=2019/01/31 10:01:01 , id=3 name=筆箱 last_update_time=2019/02/01 10:01:01 ]
■実現したいこと
・更新用対象配列の値の中で
対応するDBTableのlast_updated_timeが違う物・またはDBに無いデータを取得したいです。
上記の例で言えば
id = [2,3]
というidの配列を取得したいです
id=1 同じデータだから必要なし
id=2 更新日が違うから必要あり
id=3 DBに存在していない、新規の値だから必要あり
ということです
■聞きたいこと
取得を実現する為にSQL一本で可能かどうか
■試したこと・考え
①更新用配列を一件ずつループして、
idと更新日が同じデータがないselect文を発行し、データ0件の場合のみ、id[] にプッシュしていく、という方法
②更新用配列を一件ずつループして、動的SQLを作成して一回で取る方法
(db.id= 配列1[id][index] and db.last_update_time = 配列[index][last_update_time] OR)
というような条件文をループで繋げてselect文を作り、その配列と更新用配列のdeffを結果とする方法
できれば上記のような配列ループなどをせず、一本のsqlで組みたいのですが
実現可能でしょうか??
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。