postgreSQL running in loop?



我有一个SQL查询的问题,它似乎只是保持运行,从未完成。

DROP VIEW IF EXISTS rental_details;
CREATE VIEW rental_details AS
SELECT a.rental_id, a.rental_date, a.return_date,
b.film_id, b.store_id, 
c.first_name AS staff_name, 
d.first_name || ' ' || d.last_name AS customer_name,
e.title, e.rental_duration, e.rental_rate, e.length, e.replacement_cost, e.rating,
g.name AS category_name,
h.total_amount AS amount_paid
FROM rental AS a 
JOIN inventory AS b ON b.inventory_id = a.inventory_id 
JOIN staff AS c ON c.staff_id = a.staff_id
JOIN customer AS d ON d.customer_id = a.customer_id
JOIN film AS e ON e.film_id = b.film_id 
JOIN film_category AS f ON f.film_id = e.film_id 
JOIN category AS g ON g.category_id = f. category_id
LEFT JOIN (select rental_id, sum(amount) as total_amount 
from payment 
group by rental_id) as h ON a.customer_id = d.customer_id 

使用常识,这可能是一个更正:

DROP VIEW IF EXISTS rental_details;
CREATE VIEW rental_details AS
SELECT a.rental_id, a.rental_date, a.return_date,
b.film_id, b.store_id, 
c.first_name AS staff_name, 
d.first_name || ' ' || d.last_name AS customer_name,
e.title, e.rental_duration, e.rental_rate, e.length, e.replacement_cost, e.rating,
g.name AS category_name,
h.total_amount AS amount_paid
FROM rental AS a 
JOIN inventory AS b ON b.inventory_id = a.inventory_id 
JOIN staff AS c ON c.staff_id = a.staff_id
JOIN customer AS d ON d.customer_id = a.customer_id
JOIN film AS e ON e.film_id = b.film_id 
JOIN film_category AS f ON f.film_id = e.film_id 
JOIN category AS g ON g.category_id = f. category_id
LEFT JOIN (select rental_id, sum(amount) as total_amount 
from payment 
group by rental_id) as h ON h.rental_id = a.rental_id 

最新更新