Olaf Schneider: MySQL: JOIN - Datensätze einzeln counten

Beitrag lesen

Hallo Marc,

Für ihre Anfrage wurden 25 Bücher gefunden. Bei 17 dieser Bücher ist ein Autor eingetragen, bei 8 eine Titel usw.
In den 25 Büchern wurden insgesamt 75 Kapitel gefunden. 23 der Kapiteldatensätze enthalten einen Wert beim feld XYZ, 17 einen beim feld ZYX usw...

ich würde persönlich mehrere Queries benutzen und die Ergebnisse in Funktionsaufrufe binden (Pseudocode):

function getNumberOfBooks() {
    if this.numberOfBooks is undefined {
        this.executeQuery_ABC()
    }
    return this.numberOfBooks
}

function executeQuery_ABC() {
    query = 'SELECT ...'
    result = execute query
    this.numberOfBooks = result[numberOfBooks]
    this.numberOfChapters = result[numberOfChapters]
}

Wenn Du diese „faule Dateninitalisierung“ benutzt, kannst Du später immer noch einen mächtigeren Queryaufruf starten, der Dir eben mehr Werte zurückgibt und somit andere Queries unnötig macht.

Gruß
Olaf