2017-09-04 3 views
0

ここでは、表のデザインです。 私の質問は、表から単一のlogin_idを持つ単一のimage_urlを表示する方法です。SQL Serverのイメージを格納するテーブルのid(外部キー)に対する単一IMAGEURLを表示

(すなわち、別個の単一IMAGE_URLとLOGIN_ID)

またはtable.Shouldを退職するための任意の提案は、私が最後の画像の更新のためにテーブルの日付列を追加します。

+0

ユーザーに複数のイメージURLが表示されている場合、そのURLを表示しますか? –

+0

最後の更新画像のURL –

+0

更新された答えを確認します:) –

答えて

0

SELECT * FROM table_name WHERE login-idf = '1170' 

は、ユーザ1170

0

はいのためにあなたのテーブルからすべてのデータを選択します安全ではありませんが。正当な理由から、あなたはテーブルを再設計する必要があります。 login_idを主キーにすることができます。 これはlogin_idは、この方法で条件

  1. NOT NULL、および
  2. UNIQUE

であることを保証します -

(シングルIMAGE_URLとすなわち明確なLOGIN_ID)

が世話をしています。

注 -あなたが同じ2人の以上の異なるユーザーのためのImageUrl、またはその逆を許可したい場合は、複合主キーを作成 - 、それらを取得するための

select login_id, ImageURL from TableName; 
(login_id, ImageURL)

これにより、login_idとImageURLのすべてのDISTINCTペアが返されます。

ImageURLをの最終更新画像にフェッチするには、timestampをデータベースに挿入する別の列が必要です。 timestampの詳細については、thisを参照してください。

次に、max(timestamp)を使用して最新のものを取ることができます(最新の時間が最大になります)。

と同様に(サブクエリを使用) - これが何をすべき

select login_id, ImageURL from TableName where timestamp = (select max(timestamp) from TableName); 

+0

同時に、私は単一のユーザが複数の画像を挿入できるようにしたいと思います。 –

+0

はい。その場合、複合主キー - (login_id、ImageURL) 'が実行します。その場合、ユーザーにはどのイメージURLを使用しますか? 1つまたはすべての画像URL? –

関連する問題