2016-05-13 8 views
-1
select 
    b.d, 
    sum(pic_sam)/60 
from 
    inter b 
left join 
    sah 
     on d=date 
where 
    b.d between '01 May 2016' and '06 May 2016' 
group by 
    b.d 
order by 
    b.d 

ich ein SQL-Skript geschrieben haben, wie oben denen Daten wie zeigt unterLEFT OUTER JOIN mit where-Klausel von Haupttabelle

2016-05-01 00:00:00.000 NULL 
2016-05-02 00:00:00.000 2608.422500 
2016-05-03 00:00:00.000 20236.230333 
2016-05-04 00:00:00.000 21398.398166 
2016-05-05 00:00:00.000 0.000000 
2016-05-06 00:00:00.000 0.000000 

Jetzt muss ich hier einen anderen Zustand versetzt, die

ist
select 
    b.d, 
    sum(pic_sam)/60 
from 
    inter b 
left join 
    sah a 
     on d=date 
where 
    b.d between '01 May 2016' and '06 May 2016' **and a.line_code like 'K%;** 
group by 
    b.d 
order by 
    b.d 

dann Daten sollten wie folgt angezeigt werden, aber das zweite Skript funktioniert nicht wie folgt.

2016-05-01 00:00:00.000 NULL 
2016-05-02 00:00:00.000 500.422500 
2016-05-03 00:00:00.000 10000.230333 
2016-05-04 00:00:00.000 5000.398166 
2016-05-05 00:00:00.000 0.000000 
2016-05-06 00:00:00.000 0.000000 

Antwort

2

Den rechten Tabellenfilter auf ON Zustand

SELECT b.d, 
     Sum(pic_sam)/60 
FROM inter b 
     LEFT JOIN sah a 
       ON d = date 
       AND a.line_code LIKE 'K%' 
WHERE b.d BETWEEN '01 May 2016' AND '06 May 2016' 
GROUP BY b.d 
ORDER BY b.d 
+0

Danke Danke Danke Danke Danke viel Herr PRDP. es funktioniert für mich. –

Verwandte Themen