0

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

他们都有添加日期和uid

我想从uid = 1的这些表中选择所有(选择*)并按添加日期对所有结果进行排序,非常困惑查询会是什么样子?

4

2 回答 2

0

如果这些表包含相同的信息,您可以使用联合,例如:

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
于 2013-04-16T12:51:30.433 回答
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

享受编码..:)

于 2013-04-16T12:46:48.097 回答