MySQL /搜索两个表

The*_*ver 0 mysql sql database database-design

我有两张桌子,"照片"和"视频".它们几乎完全相同,除了一列,"照片"中的"photoID"和"视频"中的"videoID".

当用户进行搜索时,我希望视频结果与照片结果混合,显然是来自同一记录集.

如何使用不同的列名进行此操作?如果不是,我是否在两个表中将列名更改为contentID,并使用UNION加入它们?这是改变列的很多工作,但如果这是不可能的话......

Joe*_*lli 5

您不必更改表中的列名称.只需在上使用别名即可SELECT.我会选择UNION ALL(比UNION不会尝试消除欺骗更有效)并添加一个额外的列来确定内容的来源.

SELECT photoID AS contentID, colA, colB, ..., 'photo' AS ContentType
    FROM photos
UNION ALL
SELECT videoID AS contentID, colA, colB, ..., 'video' AS ContentType
    FROM videos
Run Code Online (Sandbox Code Playgroud)