Ho due tabelle e devo creare una vista. Le tabelle sono:La vista SELECT contiene una sottoquery nella clausola FROM
credit_orders(id, client_id, number_of_credits, payment_status)
credit_usage(id, client_id, credits_used, date)
Per eseguire questa operazione, utilizzare la seguente query. La query senza la parte "create view" funziona bene ma con "create view", mostra l'errore "View's SELECT contiene una sottoquery nella clausola FROM". Quale potrebbe essere la possibile soluzione problema &:
create view view_credit_status as
(select credit_orders.client_id,
sum(credit_orders.number_of_credits) as purchased,
ifnull(t1.credits_used,0) as used
from credit_orders
left outer join (select * from (select credit_usage.client_id,
sum(credits_used) as credits_used
from credit_usage
group by credit_usage.client_id) as t0
) as t1 on t1.client_id = credit_orders.client_id
where credit_orders.payment_status='Paid'
group by credit_orders.client_id)
possibile duplicato di [MySQL: Visualizza con sottoquery nella limitazione della clausola FROM] (http://stackoverflow.com/questions/206062/mysql-view-with-subquery-in-the-from-clause-limitation) –
@MattFenwick, no non lo è - la query può essere riscritta facilmente, il che non è possibile in generale – TMS
Le sottoquery sono supportate in mariadb '10.2' dalla versione' 10.2.1' See - https://jira.mariadb.org/browse/MDEV-3944 –