Hallo,
nehmen wir einmal an zwischen der Tabelle tabmodules und der Tabelle tabvk1 besteht eine 1:n Relation, dann kann ich, wenn ich tabmodules listen möchte, ganz einfach die Zahl der Verknüpfungen (also "n") mit COUNT ausgeben.
[highlight=sql]
SELECT
`modules`.* , COUNT(vk1.id) AS vk1count,
FROM `tabmodules` `modules`
LEFT JOIN `tabvk1` `vk1` ON `modules`.`id` = `vk1`.`moduleid`
GROUP BY modules.id
[/highlight]
Leider lässt sich diese Vorgehensweise nicht auf eine Tabelle tabvk2, zu der analago die gleiche 1:n-Relation besteht, ausweiten:
[highlight=sql]
SELECT
`modules`.* , COUNT(vk1.id) AS vk1count, COUNT(vk2.id) AS vk2count,
FROM `tabmodules` `modules`
LEFT JOIN `tabvk1` `vk1` ON `modules`.`id` = `vk1`.`moduleid`
LEFT JOIN `tabvk2` `vk2` ON `modules`.`id` = `vk2`.`moduleid`
GROUP BY modules.id
[/highlight]
vk1count und vk2count liefern nun beide das Produkt der beiden Einträge.
Mir ist klar, dass man an dieser Stelle wohl auf Subview-Konstrukte zurück greifen kann, aber geht das auch ohne Subview?
Tia, Stefan
nehmen wir einmal an zwischen der Tabelle tabmodules und der Tabelle tabvk1 besteht eine 1:n Relation, dann kann ich, wenn ich tabmodules listen möchte, ganz einfach die Zahl der Verknüpfungen (also "n") mit COUNT ausgeben.
[highlight=sql]
SELECT
`modules`.* , COUNT(vk1.id) AS vk1count,
FROM `tabmodules` `modules`
LEFT JOIN `tabvk1` `vk1` ON `modules`.`id` = `vk1`.`moduleid`
GROUP BY modules.id
[/highlight]
Leider lässt sich diese Vorgehensweise nicht auf eine Tabelle tabvk2, zu der analago die gleiche 1:n-Relation besteht, ausweiten:
[highlight=sql]
SELECT
`modules`.* , COUNT(vk1.id) AS vk1count, COUNT(vk2.id) AS vk2count,
FROM `tabmodules` `modules`
LEFT JOIN `tabvk1` `vk1` ON `modules`.`id` = `vk1`.`moduleid`
LEFT JOIN `tabvk2` `vk2` ON `modules`.`id` = `vk2`.`moduleid`
GROUP BY modules.id
[/highlight]
vk1count und vk2count liefern nun beide das Produkt der beiden Einträge.
Mir ist klar, dass man an dieser Stelle wohl auf Subview-Konstrukte zurück greifen kann, aber geht das auch ohne Subview?
Tia, Stefan
Comment