【问题标题】:SQL QUERY problem bookidSQL QUERY 问题 bookid
【发布时间】:2010-09-26 05:48:02
【问题描述】:

如何查找以“音频”格式提供的“CIVIL WAR”(即标题字段包含“CIVIL WAR”)上的书籍(显示其标题、作者和价格)。

这是我的架构 *书籍(书名,标题,作者,年份) * 客户(客户 ID、姓名、电子邮件) * 购买 (customerid, bookid, year) *评论(customerid,bookid,评级) * 定价(bookid、格式、价格)

我这样做了,但没有用 选择 b.title、b.author、p.price FROM BOOKS b,PRICING p INNER JOIN book on p.bookid WHERE b.title like '%CIVIL WAR%' AND p.format like '%AUDIO%' 按 p.format、p.price 分组

【问题讨论】:

  • 您的问题可以使用一些格式...在段落之间添加一个空行。
  • 谢谢 josh 你知道我该如何解决这个问题吗?
  • 您的查询是否有错误?如果不是,它有什么问题?
  • 为什么从 Jacob Relkins 编辑回滚?他使您的问题更具可读性,而且完全有道理。

标签: mysql


【解决方案1】:

看起来 ON 子句不完整。

试试这个:


SELECT b.title, b.author, p.price
FROM BOOKS b
INNER JOIN PRICING p ON p.bookid = b.bookid 
WHERE b.title like '%CIVIL WAR%' 
AND p.format like '%AUDIO%' group by p.format, p.price

看到 INNER JOIN 末尾的 = b.bookid 了吗?这就是问题所在。

【讨论】:

  • 谢谢它的工作。我刚刚改为按 b.title 分组并工作
  • 不客气,萨沙。不要忘记为这个问题选择一个答案。欢迎来到 StackOverflow!
  • @Sasha:那么您应该将此响应标记为“已接受的答案”。
  • # 'JOHN CHAMBERS' 每年至少购买一本书,求购买的书数。也就是说,输出应该是一组元组,每个元组表示年份和“JOHN CHAMBERS”在该年购买的书籍数量。这是我的 SELECT customerid, p.year FROM PURCHASES p, BOOKS
  • 您应该在主页上为此创建一个新问题。这样,每个人都会看到它,你会得到很多回应。
【解决方案2】:

也许:

 SELECT b.title, b.author, p.price 
 FROM BOOKS b
 INNER JOIN PRICING p ON p.bookid=b.bookid 
 WHERE b.title like '%CIVIL WAR%' AND p.format like '%AUDIO%' group by p.format, p.price

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多