MySQL按日期顺序从3个表中选择

时间:2013-04-16 12:29:52

标签: mysql mysql-5.5

我有3个表音频,视频,图像

他们都有dateadded和uid

我想从这些表中选择所有(select *),其中uid = 1并按dateadded排序所有结果,非常混淆查询会是什么样的?

2 个答案:

答案 0 :(得分:0)

如果3表有1个相同的字段,例如groupID或类似的东西,你可以使用左连接或内连接,具体取决于你想要的输出。

使用左连接:

select * from videos v left join audios a on v.groupID = a.groupID
left join images i on v.groupID = i.groupID

请注意: 如果要使用其他类型的连接,只需将“left”更改为“inner”。 它不必具有相同的字段名称“groupID”。但是必须有一个共同的功能,或者代表彼此相关的东西。

链接: 这里有一些可以帮助你的链接 http://www.w3schools.com/sql/sql_join.asp http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

享受编码.. :)

答案 1 :(得分:0)

如果表格中包含相同的信息,则可以使用union,例如:

select name, date_added
from(
  select video_name as name,date_added, uid
  from videos
  union all
  select audio_name as name,date_added, uid
  from audios
  union all
  select image_name as name,date_added, uid
  from images
) u
where uid = 1
order by date_added