Voor de navigatie van een controle paneel heb ik de basis gegevens uit de navigatie tafel en de aantallen uit een aantal andere tafels. Ik dacht dit op de volgende manier te verwezelijken:

SELECT DN.*,  
       (SELECT COUNT(*)
          FROM site_pages SP, site_widgets SW
         WHERE SP.dashboard_id = DN.dashboard_id
           AND SP.isActive = 1
           AND SW.dashboard_id = DN.dashboard_id
           AND SW.isActive = 1
           ) AS counter
  FROM dashboard_navigation DN
 ORDER BY DN.dashboard_sequence

De query geeft geen fouten alleen counter voor beide tafels staat om 0. Hetr heeft duidelijk iets te maken met de aliassen ik weet alleen niet wat.

[size=xsmall]Toevoeging op 17/04/2018 11:37:46:[/size]

Ik heb de oplossing gevonden. Voor een ieder die dit wellicht ook nodig heeft. Dit is de uiteindelijke query:

SELECT DN.*, 
       (SELECT COUNT(*) 
          FROM site_pages SP 
         WHERE SP.dashboard_id = DN.dashboard_id  
           AND isActive = 1)+
       (SELECT COUNT(*) 
          FROM site_widgets SW 
         WHERE SW.dashboard_id = DN.dashboard_id  
           AND isActive = 1)+
       (SELECT COUNT(*) 
          FROM blog_posts BP 
         WHERE BP.dashboard_id = DN.dashboard_id) AS counters
  FROM dashboard_navigation DN

Reageren