2012-03-27 6 views
0
SELECT E.flmavailable_date,E.flmavailable_num_licenses, flmavailable_product AS SERVER 
FROM (SELECT flmavailable_num_licenses,flmavailable_date 
     FROM licenses_available 
     ORDER BY flmavailable_num_licenses ASC) E 
WHERE flmavailable_product <= 4; 

Fehler: --- Unknown column 'flmavailable_product' in 'field list'über SQL-Abfrage

Auch wenn es Feld mit diesem Namen ich Störung erhalte genannt wird. Ich brauche Hilfe dieses

Antwort

0

Ihre Außen zu lösen select versucht, ein flmavailable_product von Ihrem inneren select zu wählen, aber es gibt kein solches Feld in der inneren Abfrage.

Können Sie das Schema der Tabelle licenses_available und eine Beschreibung dessen, was Ihre Abfrage zurückgeben soll, hinzufügen? Dies würde es einfacher machen, Ihnen zu helfen. Basierend auf Ihrer aktuellen Abfrage scheint es, als ob Sie diese innere Unterabfrage möglicherweise nicht benötigen.

+0

Ich brauche Top Lizenz Benutzer – Raj

0

Sie müssen das flmavailable_product Feld in der inneren Teil Abfrage enthalten sein, wenn es sich um eine Spalte in der licences_available Tabelle ist, oder an die entsprechende Tabelle verbinden, die dieses Feld in der inneren Abfrage enthält:

SELECT E.flmavailable_date,E.flmavailable_num_licenses,flmavailable_product AS SERVER 
FROM (SELECT flmavailable_num_licenses,flmavailable_date, flmavailable_product 
     FROM licenses_available ORDER BY flmavailable_num_licenses ASC)E 
    WHERE flmavailable_product <= 4; 

Auch nicht sicher, warum Sie die innere Unterabfrage verwenden, da alles, was es tut, eine gerade ist

0

Dies ist die Abfrage, die Sie schreiben wollten.

SELECT flmavailable_num_licenses,flmavailable_date, flmavailable_product AS SERVER 
    FROM licenses_available 
    WHERE flmavailable_product <= 4 
    ORDER BY flmavailable_num_licenses ASC 
+0

Es gibt keine Notwendigkeit für Unterabfrage in diesem Zusammenhang. – Gopal

+0

Vielen Dank Gopal – Raj

0

Allgemeine Auswahlabfrage Struktur ist:

SELECT a,b,c FROM `table` 
WHERE x<=y 

Hier Ihre innere Abfrage als eine Tabelle handelt. Ihre innere Abfrage gibt jedoch nur zwei Spalten zurück: flmaavailable_num_licenses & flmavailable_date.

In Ihrer äußeren Abfrage erhalten Sie einen Fehler, während Sie versuchen, die Spalte 'flmavailable_product' auszuwählen, die in der Tabelle nicht verfügbar ist (innere Abfrage).

Dies wird deutlich durch den Fehler angezeigt (Unbekannte Spalte 'flmavailable_product' in 'Feldliste'), den Sie bekommen.

Um dies zu lösen, müssen Sie entweder flmavailable_product in der inneren Abfrage auswählen oder, wenn es dort nicht vorhanden ist, verwenden Sie Join, um die Tabellen zu verbinden, in denen die erforderliche Spalte vorhanden ist.

Bitte Tabellenstruktur für genaue Abfrage angeben.