Hallo,
ich habe heute den ganzen Abend und letztens schon vor diesem Problem gesessen und ebend noch das Internet abgegrast und mir auch einige Tutorials zu SQL angesehen, aber keine Problemstellung / Lösung konnte mein Problem lösen.
Ich habe 2 Tabellen ...
+ in der einen stehen Domains mit der ID , NAME, STATUSID
+ eine Tabelle mit einer History was für Staten (Statusse?) die Domain hatte (REG,UPD,BV,GO USW)
Jetzt möchte ich aus der Domaindatenbank alle Einträge auslesen, dessen letzter!!! Status auf GO steht .... ich habe folgendes gemacht:
Problem ist jetzt er findet alle Domains die ein GO in der History haben ... er darf die Domain aber nur finden wenn GO auch der letzte Historyeintrag ist (es gibt auch ein Zeitfeld nach dem man sortieren könnte) ...
Gibt es eine Möglichkeit ihm zu sagen dass er bei diesem abgleich immer nur den letzten Eintrag zum abgleichen ob = GO ist nehmen soll ?
// Edit:
Theoretisch könnte ich jeden Domaineintrag so durchlaufen und zu jeder Domain eine Zusatzabfrage machen (z.B. domain nr 5) und dann abfragen ,.... aber ich finde das zu rechenlastig, dass muss doch auch in einer einzigen abfrage gehen ... :-?!
Diese Grundlage müsste zur Prüfung herangezogen werden und nicht alle Historyeinträge die vorhanden sind ...
ich habe heute den ganzen Abend und letztens schon vor diesem Problem gesessen und ebend noch das Internet abgegrast und mir auch einige Tutorials zu SQL angesehen, aber keine Problemstellung / Lösung konnte mein Problem lösen.
Ich habe 2 Tabellen ...
+ in der einen stehen Domains mit der ID , NAME, STATUSID
+ eine Tabelle mit einer History was für Staten (Statusse?) die Domain hatte (REG,UPD,BV,GO USW)
Jetzt möchte ich aus der Domaindatenbank alle Einträge auslesen, dessen letzter!!! Status auf GO steht .... ich habe folgendes gemacht:
PHP-Code:
SELECT
kundendomains.id AS domainid,
kundendomains.domain AS name,
domains_history.status
FROM kundendomains, domains_history
WHERE kundendomains.id = domains_history.domainid and domains_history.status='GO'
ORDER BY domainid asc
Problem ist jetzt er findet alle Domains die ein GO in der History haben ... er darf die Domain aber nur finden wenn GO auch der letzte Historyeintrag ist (es gibt auch ein Zeitfeld nach dem man sortieren könnte) ...
Gibt es eine Möglichkeit ihm zu sagen dass er bei diesem abgleich immer nur den letzten Eintrag zum abgleichen ob = GO ist nehmen soll ?
// Edit:
Theoretisch könnte ich jeden Domaineintrag so durchlaufen und zu jeder Domain eine Zusatzabfrage machen (z.B. domain nr 5) und dann abfragen ,.... aber ich finde das zu rechenlastig, dass muss doch auch in einer einzigen abfrage gehen ... :-?!
PHP-Code:
$domain = $hp->fetch_object($hp->query("select * from domains_history where domainid=5 order by timestamp desc limit 0,1"));
if ($domain->status == "GO")
{
...
}
Kommentar