2017-09-04 71 views
0

下面是表的设计 - 表用于存储图片:SQL服务器:对于显示单一的ImageUrl到ID(外键)

Table for storing Images

我已经创建的表用于存储image_urllogin_id一起。 我的问题是如何显示单个image_url与表中的单个login_id

(即不同LOGIN_ID单IMAGE_URL)

或作辞去table.Should任何建议我在表中添加日期列于最后图像更新。

+0

包含多个用户的图片网址,您想要显示哪个网址? –

+0

上次更新的网址 –

+0

请检查更新后的答案:) –

回答

0

虽然不能确保

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

将选择从表中的所有数据,用户1170

0

是。有了应有的尊重,你需要重新设计表格。您可以将login_id作为主键。 这确保了login_id

  1. NOT NULL,和
  2. UNIQUE

这样的条件 -

(即不同LOGIN_ID单IMAGE_URL)

被照顾。

注 -如果你想允许同一ImageUrl两个或多个不同的用户,或者反之亦然然后创建一个复合主键 - (login_id, ImageURL)

为了获取他们,

select login_id, ImageURL from TableName; 

这将返回所有DISTINCT对的login_id和ImageURL给你。

要获取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?任何一个或所有图片网址? –