2017-07-03 3 views
0
'SELECT count(`houses`.`color`) AS `count`, 
     `houses`.`color` 
FROM `user_houses` 
JOIN `houses` ON `houses`.`id` = `users_houses`.`house` 
GROUP BY `houses`.`color`' 

Dies ist die Aussage, die ich Häuser nach Farbeigenschaft zählen (in Häuser Tabelle).Zählen nach Stilen statt Farben

Jedes Haus hat einen Stilnamen. Ich muss die verschiedenen Stile statt der verschiedenen Farben zählen. Das Problem ist der Stil ist in einer anderen Tabelle (Stile), die eine Haus-ID hat, die die Haus-ID von Häusern machts.

Ich habe dies versucht:

'JOIN houses AND styles SELECT count(`style`.`color`) AS `count`, `houses`.`style` FROM `user_houses` 'JOIN `houses` ON `houses`.`id` = `user_houses`.`house` GROUP BY `houses`.`color`' 
+0

Bearbeiten Sie Ihre Frage und bieten Beispieldaten und gewünschte Ergebnisse. –

+0

@GordonLinoff uh? – needitohelp

Antwort

0

Mit der gegebenen begrenzten Info: Sie benötigen Häuser mit Stilen zu verbinden. Sogar Ihre erwähnte Abfrage hat eine unnötige Verbindung über user_houses. Versuchen Sie dies:

SELECT count(`styles`.`house_id`) AS `count`, 
     `styles`.`house_id` 
FROM `houses` 
INNER JOIN `styles` ON `houses`.`house_id` = `styles`.`house_id` 
GROUP BY `styles`.`house_id` 
+0

Ich habe zwei ein oder zwei Wörter ersetzen, aber danach hat es funktioniert. Danke, Mann. – needitohelp

Verwandte Themen