2016-05-10 3 views
0

ich diese Abfrage bin mit Daten aus dem aktuellen Datum nur abfragen ausWie max (Datum) in der Klausel where Bedingung machen

SELECT total_personnel 
FROM fcponc 
WHERE day_date= 
    SELECT MAX(day_date) FROM fcponc; 

aber es ist ein Fehler - bitte beraten, wie es zu korrigieren

SELECT total_personnel 
FROM fcponc 
WHERE day_date= 
    SELECT MAX(day_date) FROM fcponc; 
+0

was ist die Spalte Art von 'day_date'? – Jhecht

Antwort

1

Sie benötigen haben Klammern rund um Ihre innere Abfrage

SELECT total_personnel 
FROM fcponc 
WHERE day_date = 
    (SELECT MAX(day_date) FROM fcponc); 
1

Sie benötigen eine Unterabfrage in Klammern setzen:

SELECT total_personnel 
FROM fact_personnel_on_site_category 
WHERE day_date= (SELECT MAX(day_date) FROM fact_personnel_on_site_category); 
+0

süß !!! ... perfekt ausgeführt. Danke an Sie. –

1
SELECT total_personnel 
FROM fact_personnel_on_site_category 
WHERE day_date= 
    (SELECT MAX(day_date) FROM fact_personnel_on_site_category); 

Sie bitte Ihre innere Abfrage in Klammern machen ... ist es für Sie arbeiten?

+0

seine Arbeit bereits beantwortet von @ kp –

+0

Ok danke @rookie_coder – dhS

0

Sie müssen (__) Klammern verwenden, um die zweite Abfrage getrennt zu machen.

SELECT column_name 
FROM table_name 
WHERE date_column = (
SELECT MAX(date_column) 
FROM table_name 
) 
0

Ich denke, die folgende schneller sein:

SELECT total_personnel 
FROM fact_personnel_on_site_category 
order by day_date desc 
limit 1;