postgresql - 内部连接的 SQL where 子句

标签 postgresql inner-join where-clause

我正在使用 pgadminIII (postgreSQL)

我有下表: 书, 出版社, 订单行, 购物订单。

使用以下 SQL:

SELECT 
    Book.BookID AS "Book ID"
    ,Book.Title AS "Book title"
    ,SUM(OrderLine.quantity) AS "Number Ordered"
    ,ShopOrder.OrderDate AS "Order Date"
FROM (((Book

INNER JOIN OrderLine
ON Book.BookID = OrderLine.BookID)

INNER JOIN Publisher
ON Book.PublisherID = Publisher.PublisherID )


INNER JOIN ShopOrder
ON OrderLine.ShopOrderID = ShopOrder.ShopOrderID)

GROUP BY ShopOrder.OrderDate, Name, Book.BookID

.

我想将它与 (WHERE Publisher.Name = "Smith Smitheson") 一起使用

我不知道把它放在哪里,或者如果我做对了,有什么帮助吗?

最佳答案

...
INNER JOIN Publisher ON Book.PublisherID = Publisher.PublisherID AND Publisher.Name = 'Smith Smitheson' )
...

SELECT Book.BookID AS "Book ID" ,Book.Title AS "Book title"   
,SUM(OrderLine.quantity) AS "Number Ordered" ,ShopOrder.OrderDate AS  
"Order Date" FROM Book
INNER JOIN OrderLine ON Book.BookID = OrderLine.BookID
INNER JOIN Publisher ON Book.PublisherID = Publisher.PublisherID 
INNER JOIN ShopOrder ON OrderLine.ShopOrderID = ShopOrder.ShopOrderID
WHERE Publisher.Name = 'Smith Smitheson'
GROUP BY ShopOrder.OrderDate, Name, Book.BookID

关于postgresql - 内部连接的 SQL where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36815513/

相关文章:

javascript - TypeORM - 将新项目附加到数组类型列(Postgres)

带有 2 个 INNER JOIN 的 MYSQL 更新挂起

mysql - 通过以下方式获取每组的前/后 n 条记录

mysql - JSF 托管 bean 中的 SQL WHERE LIKE 子句

mysql - `MySQL` 如何在 `WHERE` 子句中定义顺序?

linq - LINQ to SQL 中的多个延迟 WHERE 子句表达式

sql - Postgresql 选择计数查询需要很长时间

sql - 简化 WHERE (NOT) IN (...) 和 WHERE (NOT) IN (...)

arrays - 以列值作为键聚合 JSON 数组

php - 合并多个sql语句