我有3个表音频,视频,图像
他们都有dateadded和uid
我想从这些表中选择所有(select *),其中uid = 1并按dateadded排序所有结果,非常混淆查询会是什么样的?
答案 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