【问题标题】:Inner Join with NamedQuery?使用 NamedQuery 进行内部联接?
【发布时间】:2012-06-07 14:42:24
【问题描述】:

我需要从三个不同的表中获取数据并放入一个列表中。我想知道如何使用namedQuery 做到这一点?我已经看到可以通过在线搜索来实现,但我无法让它发挥作用。

SELECT
    Customer.name,
    Customer.adress,
    Orders.date,
    Orders.order_id,
    Product.product_name,
    Product.price
FROM
    Orders
    INNER JOIN Customer ON Customer.customer_id=Orders.customer_id
    INNER JOIN Product ON Product.product_id=Orders.product_id
ORDER BY
    Orders.date

这就是我想要转换为命名查询的内容。如果有人能把我踢向正确的方向,那就太好了。

【问题讨论】:

    标签: java sql inner-join entitymanager named-query


    【解决方案1】:

    似乎我对名为查询的术语不熟悉。 但这就是你在 SQL 中的做法

    CREATE VIEW view_name AS
    SELECT
        Customer.name,
        Customer.adress,
        Orders.date,
        Orders.order_id,
        Product.product_name,
        Product.price
    FROM
        Orders
        INNER JOIN Customer ON Customer.customer_id=Orders.customer_id
        INNER JOIN Product ON Product.product_id=Orders.product_id
    ORDER BY
        Orders.date
    

    那你就可以这样称呼了

    SELECT * FROM view_name
    

    但请注意,视图中的视图对性能很不利。

    【讨论】:

      猜你喜欢
      • 2016-07-14
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 2013-07-31
      • 2014-04-19
      • 2013-10-06
      • 2013-01-07
      • 1970-01-01
      相关资源
      最近更新 更多