快速Java SQL问题

use*_*257 0 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";
Run Code Online (Sandbox Code Playgroud)

结果错误:

在char位置166处的"Publisher"处或附近的语法错误(紧跟在FROM子句之后)

Mar*_*los 5

Theres空间不见了

你的字符串是... S Total_PriceFROM Publisher,Book,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";
Run Code Online (Sandbox Code Playgroud)