Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Klausur [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Klausur


 
nob
25-01-2002, 20:58 
 
Ich will aus einer Tabelle den Gesamtbestand von bestimmten Artikeln auslesen und mit $min (z.B.: 3,4,5 ... ) vergleichen.
Der Rechner meldet mir aber das Computed ein Ungültiger Spaltenname ist. Eigentlich logisch, da dieser ja nicht in der Tabelle vorkommt, weil er vom automatisch Computer generiert worden ist.


$result = mssql_query ("SELECT Artikelbezeichnung, SUM(Menge), Einheit
FROM $table2
WHERE ??Computed?? <= '$min'
GROUP BY Artikelbezeichnung, Einheit");

Gibt es da vielleicht doch noch einen Trick???

Schon mal heißen Dank im vorraus.
nob

 
hand
26-01-2002, 15:19 
 
Ich finde keinen Hinweis dafür, daß es möglich wäre Funktionen im Zusammenhang mit GROUP BY wie
COUNT(expr), AVG(expr), MIN(expr), MAX(expr), SUM(expr), ...
in der WHERE Anweisung verwenden zu können.

 
iQD
27-01-2002, 05:28 
 
Moin!
Würde mySQL(ich gehe davon aus, daß du mySQL verwendest) SubQueries unterstützen, könntest die Summe im Where vergleichen:

result = mssql_query ("SELECT Artikelbezeichnung, SUM(Menge), Einheit
FROM $table2
WHERE (SELECT SUM(Menge) <= '$min')
GROUP BY Artikelbezeichnung, Einheit");

(mySQL 4.1 unterstützt nun SubQueries)

Aber da dies nicht der Fall ist musst having verwenden:

$result = mssql_query ("SELECT Artikelbezeichnung, SUM(Menge) AS Summe, Einheit
FROM $table2
GROUP BY Artikelbezeichnung, Einheit HAVING Summe <= '$min'");

oder ab mySQL Version : 3.22.5

$result = mssql_query ("SELECT Artikelbezeichnung, SUM(Menge), Einheit
FROM $table2
GROUP BY Artikelbezeichnung, Einheit HAVING SUM(Menge) <= '$min'");


Grüsse

[Editiert von iQD am 27-01-2002 um 05:39]

 
nob
27-01-2002, 14:52 
 
Danke,
das mit der Having Klausel hat funktioniert.
Bin jetzt 'nen großen Schritt weiter.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:58 Uhr.