Hilfe bei Sql

siccam

Benutzer
Beiträge
6
hallo zusammen, bin Neu hier und verzweifel den ganzen Tag schon an einem theoretisch einfachen Problem.

Tabelle1
Auftrag Job Status Arbeitstag
1 Testjob offen Montag

Tabelle 2
Auftrag id Zeit
1 xybau 2018-04-10 00:00:00
1 nIhzT 2018-04-10 00:00:00
1 xybal 2018-04-10 00:00:00
1 n22zT 2018-04-10 00:00:00
1 xy88u 2018-04-10 00:00:00
1 nI00T 2018-04-10 00:00:00

Ich möchte jetzt alle Spalten aus t1 und count von t2 wo der Auftrag Gleich ist.

select t1.*, count(t2.Auftrag) as Menge from Tabelle1 t1, Tabelle2 t2 Where t1.auftrag=t2.auftrag;

Ergebnis sollte sein:

Auftrag Job Status Arbeitstag Menge
1 Testjob offen Montag 6

Kann mir jemand helfen ?
 
Werbung:
select * ist böse. Verwende bitte saubere JOIN-Syntax und beachte, daß bei einer Aggregation (hier count) alle Spalten im resultat aggregiert oder gruppiert sein müssen. Du schaffst das.
 
na gut, willmal nicht so streng zum Feierabend sein ...

Code:
test=*# select * from t1;
 auftrag
---------
  1
  2
(2 Zeilen)

test=*# select * from t2;
 auftrag
---------
  1
  2
  1
  2
  1
  1
  1
(7 Zeilen)

test=*# select t1.auftrag, count(t2) from t1 left join t2 on (t1.auftrag=t2.auftrag) group by t1.auftrag order by t1. auftrag;
 auftrag | count
---------+-------
  1 |  5
  2 |  2
(2 Zeilen)

test=*#
 
na gut, willmal nicht so streng zum Feierabend sein ...

Code:
test=*# select * from t1;
auftrag
---------
  1
  2
(2 Zeilen)

test=*# select * from t2;
auftrag
---------
  1
  2
  1
  2
  1
  1
  1
(7 Zeilen)

test=*# select t1.auftrag, count(t2) from t1 left join t2 on (t1.auftrag=t2.auftrag) group by t1.auftrag order by t1. auftrag;
auftrag | count
---------+-------
  1 |  5
  2 |  2
(2 Zeilen)

test=*#


Versuch ich sofort, erstmal danke
 
Werbung:
Zurück
Oben