我需要将两个表的第一列合并为一行,并按这两列排序。这是我能够编写的,但它不起作用。
select title from movie
union
select reviewer_name from reviewer
order by title,reviewer_name;
Mysql 说 reviewer_name 是一个未知列。
最佳答案
能否请您发送电影表 ddl 和审稿人 ddl, 两个表中存在哪些列?
也许您正在寻找的问题可以通过以下方式解决:
select
m.title,
r.reviewer_name
from
movie m,
reviewer r
where
m.movieid = r.movieid
order by m.title, r.reviewer_name;
更新问题后,您可以这样做:
select
mo.title,
rv.reviewer_name,
ra.stars
from
movie mo,
reviewer rv,
rating ra
where
mo.movieid = ra.movieid
and
ra.reviewerid = rv.reviewerid
order by mo.title, rv.reviewer_name
我也在 ms access 中快速做到了这一点:
SELECT
movie.title,
reviewer.reviewer_name,
rating.stars
FROM reviewer
INNER JOIN (movie INNER JOIN rating ON movie.movieid = rating.movieid)
ON reviewer.reviewerid = rating.reviwerid
ORDER BY movie.title, reviewer.reviewer_name
关于mysql - 在mysql中结合order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16359613/