【问题标题】:sql query using aqua data studio program使用aqua数据工作室程序的sql查询
【发布时间】:2012-10-30 21:13:59
【问题描述】:

我在我的程序中执行了三个表。它们是MOVIEVIEWERRATING。在MOVIE 表中,我有MovieID, MovieTitle,IMDB_URL 和一些电影类型。每个 MovieTitle 都有一个日期(仅限年份)。

我必须列出所有 1982 年上映的电影,并按字母顺序对它们进行排序。我没有发布日期字段。但是我发现了电影的 MovieID。

它们是 89,214,228,414,423,440,527,629,632,638 和 674)所有这些 MovieID 都是在 1982 年发布的。我想出了一个代码,但它不起作用。

有人可以帮我吗?我做错了什么?

SELECT Movietitle 
FROM Movie 
WHERE  MovieID('89','214','228','414','423','440','527','629','632','638','674') 
ORDER BY MovieTitle ASC

【问题讨论】:

  • 那么你怎么知道它们是 1982 年的?日期在哪里?听起来它是内置在movietitle中的??
  • 你的权利是内置在电影标题中的。例如:星际迷航:可汗之怒(1982)
  • 好的。正确的查询添加到答案

标签: sql


【解决方案1】:

缺少“在”

SELECT Movietitle 
FROM Movie 
WHERE MovieID in
('89','214','228','414','423','440','527','629','632','638','674')
ORDER BY MovieTitle ASC

但是,如果电影标题中有年份,您可能想要执行类似的操作

SELECT MovieTitle
FROM Movie
WHERE MovieTitle like '%(1982)'
ORDER BY MovieTitle ASC

编辑显示以按日期查询

【讨论】:

  • 这是一个通配符。因此,该语句匹配以 (1982) 结尾的任何内容。如果你使用 '%(1982)%' 它会找到任何包含 (1982) 的东西......而 '(1982)%' 将意味着“开始于”
【解决方案2】:

试试

SELECT Movietitle FROM Movie WHERE MovieID in ('89','214','228','414','423','440','527','629','632','638','674') ORDER BY MovieTitle ASC

另外,您是否将 ID 存储为字符串?看来你应该。如果是这样,您将删除数字周围的引号 ''。

【讨论】:

  • 是的,我是。但是 '%(1982)' 看起来更好,所以我要继续使用它。感谢您的帮助
  • 我同意这是更好的解决方案。更好的是对 IMDB 使用某种 API,但从这个问题的外观来看,没有一个。 stackoverflow.com/questions/100280/connecting-to-imdb
猜你喜欢
  • 2017-09-28
  • 1970-01-01
  • 2019-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-21
  • 1970-01-01
相关资源
最近更新 更多