mysql - 在mysql中结合order by

标签 mysql sql sql-order-by union

我需要将两个表的第一列合并为一行,并按这两列排序。这是我能够编写的,但它不起作用。

select title from movie 
union 
select reviewer_name from reviewer 
order by title,reviewer_name;

Mysql 说 reviewer_name 是一个未知列。

enter image description here

最佳答案

能否请您发送电影表 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

enter image description here

关于mysql - 在mysql中结合order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16359613/

相关文章:

php - 需要创建一个 PHP 循环(多次失败后不知道如何继续)

Mysql:使用 Limit 和 Con

mysql - Phpmyadmin 无法访问数据库

javascript - ajax脚本不更新信息

php - 使用 PHP 格式化 SQL 数据并将其插入 HTML(网页)

sql - 原始 SQL 中的主键要求使 Django 中的查询复杂化

mysql - 排序列表,保留分组字符

mysql - SQL : Order by when a value looks like a date

php - 如何检查MySQL中是否存在某行? (即检查 MySQL 中是否存在用户名或电子邮件)

MySQL 按字符搜索