TheRealSunmoon
Mitglied
Hallo,
ich bin verzweifelt, weil ich für meine Übungsaufgabe keine Lösung finde.
Evtl. kann mir ja jemand mit mehr Wissen helfen.
Ich benutze MySQL 4.1.15
Ich möchte mir aus 2 Tabellen Daten liefern lassen,
wobei ich aus Tabelle 2 "ak_tabelle1", nur den letzten Eintrag einer
Gruppe (gruppiert nach "fld_firmid") haben möchte.
Aus Tabelle 1 "firmen" möchte ich mir nur den zu "fld_firmid" gehörenden Namen geben lassen.
Tabelle 1 wäre "firmen"
fld_id | fld_firma | .........
--------|--------------|
1 | firma1 |
2 | firma2 |
3 | firma3 |
Tabelle 2 wäre "ak_tabelle1"
fld_akid | fld_firmid | fld_time | .........
-----------|--------------|----------------------------|
1 | 1 | 20060411163053 |
2 | 1 | 20060411163104 |
3 | 1 | 20060412093514 |
4 | 3 | 20060413084027 |
5 | 3 | 20060413093320 |
6 | 2 | 20060413102030 |
Ich wünsche mir also denn diese Daten
3, 1, firma1, 20060412093514,
5, 3, firma3, 20060413093320,
6, 2, firma2, 20060413102030,
Mit dieser Abfrage bekomme ich jedoch nicht die Zeilen mit dem jeweils höchstem Wert zurück!
$sql="SELECT MAX(ak.fld_akid), ak.fld_firmid, fm.fld_firma, ak.fld_time FROM ak_tabelle1 AS ak, firmen AS fm WHERE ak.fld_firmid = fm.fld_id GROUP BY ak.fld_firmid";
$result=mysql_query($sql, $db_connection);
Und auch das funktioniert nicht!
$sql="SELECT ak.fld_akid, ak.fld_firmid, ak.fld_time, fm.fld_firma FROM ak_tabelle1 AS ak, firmen AS fm WHERE fld_akid = (SELECT MAX(fld_akid) FROM ak_tabelle1) AND ak.fld_firmid = fm.fld_id GROUP BY fld_firmid";
$result=mysql_query($sql, $db_connection);
Evtl. kann mir ja jemand bei meinem Problem helfen.
Danke und Gruß
ich bin verzweifelt, weil ich für meine Übungsaufgabe keine Lösung finde.
Evtl. kann mir ja jemand mit mehr Wissen helfen.
Ich benutze MySQL 4.1.15
Ich möchte mir aus 2 Tabellen Daten liefern lassen,
wobei ich aus Tabelle 2 "ak_tabelle1", nur den letzten Eintrag einer
Gruppe (gruppiert nach "fld_firmid") haben möchte.
Aus Tabelle 1 "firmen" möchte ich mir nur den zu "fld_firmid" gehörenden Namen geben lassen.
Tabelle 1 wäre "firmen"
fld_id | fld_firma | .........
--------|--------------|
1 | firma1 |
2 | firma2 |
3 | firma3 |
Tabelle 2 wäre "ak_tabelle1"
fld_akid | fld_firmid | fld_time | .........
-----------|--------------|----------------------------|
1 | 1 | 20060411163053 |
2 | 1 | 20060411163104 |
3 | 1 | 20060412093514 |
4 | 3 | 20060413084027 |
5 | 3 | 20060413093320 |
6 | 2 | 20060413102030 |
Ich wünsche mir also denn diese Daten
3, 1, firma1, 20060412093514,
5, 3, firma3, 20060413093320,
6, 2, firma2, 20060413102030,
Mit dieser Abfrage bekomme ich jedoch nicht die Zeilen mit dem jeweils höchstem Wert zurück!
$sql="SELECT MAX(ak.fld_akid), ak.fld_firmid, fm.fld_firma, ak.fld_time FROM ak_tabelle1 AS ak, firmen AS fm WHERE ak.fld_firmid = fm.fld_id GROUP BY ak.fld_firmid";
$result=mysql_query($sql, $db_connection);
Und auch das funktioniert nicht!
$sql="SELECT ak.fld_akid, ak.fld_firmid, ak.fld_time, fm.fld_firma FROM ak_tabelle1 AS ak, firmen AS fm WHERE fld_akid = (SELECT MAX(fld_akid) FROM ak_tabelle1) AND ak.fld_firmid = fm.fld_id GROUP BY fld_firmid";
$result=mysql_query($sql, $db_connection);
Evtl. kann mir ja jemand bei meinem Problem helfen.
Danke und Gruß