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 05-10-2006, 12:29
jan84
 Newbie
Links : Onlinestatus : jan84 ist offline
Registriert seit: Oct 2006
Beiträge: 2
jan84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Problem mit Query

Hallo,

kann mir jemand sagen, warum MySQL bei diesem Query der 'bestand' im where-clause nicht bekannt ist, obwohl ich ihn im SELECT-Teil des Querys ermittelt habe?

MySQL-Fehlermeldung:
Code:
Unknown column 'bestand' in 'where clause'
Code:
SELECT
 lago.artikel.id AS artikelid, lago.artikel.artikelname,
 lago.artikel.mindestmenge AS mindestmenge,
 IFNULL((SELECT SUM(menge) FROM wareneingang WHERE artikel=artikelid), 0) - 
IFNULL((SELECT SUM(menge) FROM warenausgang WHERE artikel=artikelid), 0) AS bestand,
 lago.artikel.artnr,
 lago.artikel.artnr2,
 lago.artikel.laenge,
 lago.artikel.breite,
 lago.artikel.tiefe_staerke,
 lago.artikel.durchmesser,
 lago.artikel.werkstoff,
 lago.artikel.oberflaeche,
 phprojekt.contacts.firma AS kre_firma,
 phprojekt.contacts.abteilung AS kre_abteilung,
 phprojekt.contacts.nachname AS kre_nachname,
 phprojekt.contacts.vorname AS kre_vorname,
 phprojekt.contacts.stadt AS kre_stadt,
 lago.artikel.lagerort,
 lago.artikel.liefprodnr,
 lago.einheiten.kurzform 
FROM
 lago.artikel 
INNER JOIN
 phprojekt.contacts 
ON
 (lago.artikel.kreditor=phprojekt.contacts.ID) 
INNER JOIN
 lago.einheiten 
ON
 (lago.artikel.einheit=lago.einheiten.id) 
WHERE
 lago.artikel.deleted!=1 
AND
 artnr IS NOT NULL 
AND
 lago.artikel.artnr BETWEEN 80000 AND 89999 
AND
 bestand < mindestmenge 
ORDER BY
 artnr ASC,
 artnr2 ASC
Der 'bestand' wird aber richtig ausgegeben, wenn ich die betreffende where-Klausel weglasse (also ohne "AND
bestand < mindestmenge").

Noch was Interessantes: Wenn ich die betreffende where-Klausel weglasse, dafür aber nach 'bestand' sortieren lasse, dann funktionier die Abfrage (also mit ..."ORDER BY bestand ASC"). In diesem Fall kennt er 'bestand', nur eben in der where-Klausel nicht.

Kann mir jemand weiterhelfen!?
Viele Grüsse
Jan
Mit Zitat antworten
  #2 (permalink)  
Alt 05-10-2006, 12:48
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

schau mal ins Manual:
It is not allowed to use a column alias in a WHERE clause, because the column value may not yet be determined when the WHERE clause is executed. See section A.5.4 Problems with alias.

Also bleibt Dir deine
Where so zu machen:
AND IFNULL((SELECT SUM(menge) FROM wareneingang WHERE artikel=artikelid), 0) -
IFNULL((SELECT SUM(menge) FROM warenausgang WHERE artikel=artikelid), 0) < mindestmenge
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #3 (permalink)  
Alt 05-10-2006, 14:35
jan84
 Newbie
Links : Onlinestatus : jan84 ist offline
Registriert seit: Oct 2006
Beiträge: 2
jan84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke MelloPie. So habe ich es auch gemacht.
Ich dachte, dass ich auf die andere Art (so wie es ja leider nicht geht) Rechenaufwand spare, da die Abfrage durch die beiden Sub-Selects sehr langsam ist.
Dann bleibe ich aber wohl bei deiner Lösung.

Danke für die Mühe!
Jan
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:42 Uhr.