java - 快速Java SQL问题

标签 java sql

我的代码:

String sql = "SELECT Publisher.Name, Book.Title, ShopOrder.OrderDate, SUM(OrderLine.Quantity) AS No_Books, "
            + "SUM(OrderLine.UnitSellingPrice * Orderline.Quantity) AS Total_Price"
            + "FROM Publisher, Book, OrderLine, ShopOrder"
            + "WHERE OrderLine.BookID = Book.BookID AND ShopOrder.ShopOrderID = OrderLine.ShopOrderID AND Publisher.PublisherID = Book.PublisherID AND Publisher.PublisherID = " + id
            + "GROUP BY book.title, publisher.name, ShopOrder.OrderDate"
            + "ORDER BY ShopOrder.OrderDate, Book.Title";

结果错误:

syntax error at or near "Publisher" at char position 166 (Just after the FROM clause)

最佳答案

缺少空格

你的字符串是 ...S Total_PriceFROM Publisher、书籍、OrderLine、ShopOrderWHERE O...

您应该使用:

String sql = "SELECT Publisher.Name, Book.Title, ShopOrder.OrderDate, SUM(OrderLine.Quantity) AS No_Books, "
        + " SUM(OrderLine.UnitSellingPrice * Orderline.Quantity) AS Total_Price"
        + " FROM Publisher, Book, OrderLine, ShopOrder"
        + " WHERE OrderLine.BookID = Book.BookID AND ShopOrder.ShopOrderID = OrderLine.ShopOrderID AND Publisher.PublisherID = Book.PublisherID AND Publisher.PublisherID = " + id
        + " GROUP BY book.title, publisher.name, ShopOrder.OrderDate"
            + " ORDER BY ShopOrder.OrderDate, Book.Title";

关于java - 快速Java SQL问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492624/

相关文章:

sql - 检查 PL/SQL block 中的表中是否存在行的正确方法

java - 为什么即使没有插入新行,executeUpdate 也会返回 1?

java - 作业重启异常 : JobInstance already exists and is not restartable

java - 在 REST API 中操作请求 (Spring )

PHP PDOStatement->执行非常慢

mysql - 基于多个 OR 谓词对结果集进行排序

java - tiles未找到jsp文件,如何正确包含jsp文件

java - 平移 BufferedImage

sql - 将组分成单独记录的有效方法

php - MySQL:如果匹配两列则忽略插入