login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Query

Offline Fenrir - 13/02/2005 11:10 (laatste wijziging 13/02/2005 11:16)
Avatar van FenrirPHP expert Ik heb een probleem met een query.
Dit zijn mijn tabellen:

  1. CREATE TABLE `posts` (
  2. `ID` int(11) NOT NULL auto_increment,
  3. `threadID` int(11) NOT NULL default '0',
  4. `titel` text NOT NULL,
  5. `bericht` text NOT NULL,
  6. `poster_naam` text NOT NULL,
  7. `poster_email` text NOT NULL,
  8. PRIMARY KEY (`ID`)
  9. ) TYPE=MyISAM AUTO_INCREMENT=6 ;
  10.  
  11. INSERT INTO `posts` VALUES (1, 1, 'Post1', 'Post1', '', '');
  12. INSERT INTO `posts` VALUES (2, 1, 'Post2', 'Post2', '', '');
  13. INSERT INTO `posts` VALUES (4, 1, 'Post4', 'Post4', '', '');


  1. CREATE TABLE `threads` (
  2. `ID` int(11) NOT NULL auto_increment,
  3. `categorieID` int(11) NOT NULL default '0',
  4. `titel` text NOT NULL,
  5. `bericht` text NOT NULL,
  6. `poster_naam` text NOT NULL,
  7. `poster_email` text NOT NULL,
  8. PRIMARY KEY (`ID`)
  9. ) TYPE=MyISAM AUTO_INCREMENT=6 ;
  10.  
  11. INSERT INTO `threads` VALUES (1, 1, 'thread 1', 'thread 1 bericht', 'Fenrir', 'fenrir.jules@gmail.com');
  12. INSERT INTO `threads` VALUES (2, 1, 'thread 2', 'thread 2 bericht', 'Fenrir', 'fenrir.jules@gmail.com');
  13. INSERT INTO `threads` VALUES (4, 2, 'thread 4', 'thread 4 bericht', 'Fenrir', 'fenrir.jules@gmail.com');
  14. INSERT INTO `threads` VALUES (3, 2, 'thread 3', 'thread 3 bericht', 'Fenrir', 'fenrir.jules@gmail.com');
  15. INSERT INTO `threads` VALUES (5, 1, 'thread5', 'thread5', '', '');


En dit is mijn query:

  1. SELECT
  2. threads.ID as ID,
  3. threads.titel as titel,
  4. COUNT(posts.ID) as posts
  5. FROM threads
  6. LEFT JOIN posts
  7. ON posts.threadID=threads.ID
  8. WHERE threads.categorieID='.$ID.'
  9. GROUP BY posts.threadID
  10. ORDER BY threads.titel


nu krijg ik deze data:
  1. 0 =>
  2. 'ID' => '1',
  3. 'titel' => 'thread 1',
  4. 'posts' => '3',
  5. ),
  6. 1 =>
  7. 'ID' => '2',
  8. 'titel' => 'thread 2',
  9. 'posts' => '0',
  10. ),
  11. )


maar ik wil deze data krijgen:
  1. 0 =>
  2. 'ID' => '1',
  3. 'titel' => 'thread 1',
  4. 'posts' => '3',
  5. ),
  6. 1 =>
  7. 'ID' => '2',
  8. 'titel' => 'thread 2',
  9. 'posts' => '0',
  10. ),
  11. 2 =>
  12. 'ID' => '5',
  13. 'titel' => 'thread5',
  14. 'posts' => '0',
  15. ),
  16. )


Dus er zit een fout in mij query dat als een thread 0 posts heeft, dat de volgende thread dan niet meer geselecteerd wordt.
Wat doe ik fout?

mvd,
Fenrir

2 antwoorden

Gesponsorde links
Offline Thomas - 30/11/1999 00:00
Avatar van Thomas Moderator Gebruik GROUP BY threads.ID in plaats van GROUP BY posts.threadID (deze zijn hetzelfde) - je kan niet groeperen op een 'niet-bestaande' kolom (niet-bestaande gegevens).
Offline Fenrir - 30/11/1999 00:00
Avatar van Fenrir PHP expert Thanks!rnHet werkt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.212s