Hi,
ich habe lange gewartet, bis ich mich entschieden habe hier zu fragen, weil ich eigentlich keinen Einblick in meine Datenbankstruktur geben wollte, aber es hilft langsam nichts mehr. Ich weiß tatsächlich nicht weiter ..
Hier erstmal die Tabellen:
Alles anzeigen
So.. es gibt also Bankkonten, die, wenn die UserID stimmt und bank_account_posessed_by_company gleich 0 ist, einer Person gehören. Eine Funktion soll nun ermitteln (die ich später für sajax brauche), wie das Gesamtvermögen des Benutzers aussieht. Über eine Funktion erhält die gesuchte Funktion bereits das Privatvermögen (aus einer anderen Tabelle). Nun sollen noch die Credits auf den Bankkontnen hinzugefügt werden.
Ich brauche also ein MySQL-Statement, das alle Konten aus "bank_accounts" heraussucht und mit der dadurch erhaltenen bank_account_id aus bank_account_credits diejenigen credits herausholt, wo das Datum am aktuellsten (= größten ist).
Bei einem einzigen Konto sehe das so aus:
Da das neueste Datum stets am größten ist und er nur einen Datensatz holen soll, bekommt man genau den aktuellen Stand der Credits. Nun will ich das aber für alle Bankkonten gleichzeitig erledigen und zum Beispiel ein solches Ergebnis erhalten:
Noch besser wäre natürlich sofort die Summe der drei Ergebnisse.
Das Problem ist jetzt nur, dass ich, wenn ich mit JOINS oder sonstwas arbeite, zwar alles herausholen kann, er aber nicht mehr trennen kann, was der aktuellste Stand der Credits ist. Bei einem LIMIT 1 würde er ja schon nach einem ersten Treffer abbrechen, was ich natürlich nicht will.
Fällt jemandem eine Idee ein, wie man per JOINs oder ähnlichem ohne zwei SQLs das Ergebnis erhalten kann?
lG
ich habe lange gewartet, bis ich mich entschieden habe hier zu fragen, weil ich eigentlich keinen Einblick in meine Datenbankstruktur geben wollte, aber es hilft langsam nichts mehr. Ich weiß tatsächlich nicht weiter ..

Hier erstmal die Tabellen:
Quellcode
- [u]bank_accounts[/u]
- bank_account_id
- bank_account_owner_id
- bank_account_posessed_by_company
- bank_account_bank_id
- bank_account_bank_account_type_id
- bank_account_register_date
- [u]bank_account_credits[/u]
- bank_account_credit_bank_account_id
- bank_account_credit_num
- bank_account_credit_date
- bank_account_credit_change
So.. es gibt also Bankkonten, die, wenn die UserID stimmt und bank_account_posessed_by_company gleich 0 ist, einer Person gehören. Eine Funktion soll nun ermitteln (die ich später für sajax brauche), wie das Gesamtvermögen des Benutzers aussieht. Über eine Funktion erhält die gesuchte Funktion bereits das Privatvermögen (aus einer anderen Tabelle). Nun sollen noch die Credits auf den Bankkontnen hinzugefügt werden.
Ich brauche also ein MySQL-Statement, das alle Konten aus "bank_accounts" heraussucht und mit der dadurch erhaltenen bank_account_id aus bank_account_credits diejenigen credits herausholt, wo das Datum am aktuellsten (= größten ist).
Bei einem einzigen Konto sehe das so aus:
Da das neueste Datum stets am größten ist und er nur einen Datensatz holen soll, bekommt man genau den aktuellen Stand der Credits. Nun will ich das aber für alle Bankkonten gleichzeitig erledigen und zum Beispiel ein solches Ergebnis erhalten:
Noch besser wäre natürlich sofort die Summe der drei Ergebnisse.
Das Problem ist jetzt nur, dass ich, wenn ich mit JOINS oder sonstwas arbeite, zwar alles herausholen kann, er aber nicht mehr trennen kann, was der aktuellste Stand der Credits ist. Bei einem LIMIT 1 würde er ja schon nach einem ersten Treffer abbrechen, was ich natürlich nicht will.
Fällt jemandem eine Idee ein, wie man per JOINs oder ähnlichem ohne zwei SQLs das Ergebnis erhalten kann?
lG
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von PHP0Kid ()