php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-10-2006, 16:48
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard [SQL allgemein] SQL-Anweisung mit COUNT(*)

Hallo php resource!

ich habe folgendes Problem:
Bei einem Newssystem kann man kommentare abgeben. Dabei können 3 Fälle eintreten:
1. News wurden geschrieben, aber es bestehen noch keine Kommentare
2. News wurden geschrieben und es bestehen x Kommentare
3. News wurden geschrieben, aber Kommentare sind verboten

Wenn ich nun alle news ausgeben will + Anzahl der Kommentare bekomme ich ständig probleme :/

Bei der Variante unten werden alle News mit Kommentaren ausgegeben und alle News, wo Kommentare verboten sind. Allerdings mit der Kommentaranzahl aller vorhandener Kommentare, was über 10.000 sind.

Zitat:
Tabelle News:

id---titel---inhalt---datum---autor---comment_erlaubt

Tabelle comments

id---inhalt---datum---autor---id_news

SELECT
news.titel,
news.datum,
news.datum,
news.autor,
COUNT(comments.id)
FROM
news,comments
WHERE
news.datum BETWEEN 1161122400 AND 1161208799 AND
(comments.id_news = news.id OR news.comment_erlaubt = 0)
GROUP BY news.datum
ORDER by news.datum desc
LIMIT 0,30;
Thx 4 Help!

mfg zerni
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 21-10-2006, 21:25
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dein Join ist meiner meinung nach falsch gesetzt weil Du das OR mit in die klammer nimmst
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

Geändert von MelloPie (24-10-2006 um 08:23 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 23-10-2006, 13:10
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

äh ne der müsste stimmen, hat denn jemand eine Ahnung ob ich das mit IF bzw CASE abfragen machen könnte?

Weil ich will alle News in einer bestimmten Zeit haben und diese sollen kommentare haben oder es soll verboten sein, oder sie haben keine :/

wäre es besser wenn ich das in 2 einzelne abfragen packe?

das wollte ich eigentlich nicht, da die news sehr oft aufgerufen werden und ~200 User zur gleichen Zeit auf der Webseite surfen.

Geändert von zerni (23-10-2006 um 13:50 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 03-11-2006, 17:32
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Als Lösung habe ich nun folgendes gemacht:

PHP-Code:
Tabelle News:

id---titel---inhalt---datum---autor---comment_erlaubt---comment_count

Tabelle comments

id
---inhalt---datum---autor---id_news 
und wenn ein Kommentar geschrieben wird, was nicht so oft der Fall ist, zählt er comment_count um 1 hoch!
es ginge zwar sicher auch mit joins, aber dieses ist performanter beim auslesen
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

21.10.2020 Berni | Kategorie: PHP/ Anzeigenmarkt
Sendeplan Script inkl. Wunsch- und Grußbox + Kick-System + Bewerbungssystem

Das professionelle Sendeplan PHP Script inkl. Wunsch- und Grußbox + Kick-System für dein Webradio. Der übersichtliche Sendeplan bietet deinen Moderatoren und Zuhörern die perfekte Übersicht der aktuellen Shows! Du kannst nicht nur Sendungen eintragen, s

20.10.2020 drcomputer | Kategorie: PHP/ Web Radio
Newsmanager 2

Der Newsmanager 2 ist sehr Vielfältig und kann News schreiben, Newsletter versenden und RSS Feeds in einem erzeugen.

20.10.2020 Stephan_1972 | Kategorie: PHP/ News
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:37 Uhr.