debitux Geschrieben 6. November 2003 Teilen Geschrieben 6. November 2003 Hi, ich habe 3 Tabellen in denen sich jeweils eine eindeutige Nr. befindet... Ich hab jetzt eine Abfrage gemacht die die erste Tabelle ausliest und die dann sortiert als HTML Tabelle ausgibt... So siehts aus: $query = "SELECT NR, NACHNAME, VORNAME, ABTEIL FROM PERSONAL ORDER BY ABTEIL, NACHNAME"; [/php] So... Jetzt will ich die Datensätze der Spalte "NR" mit Datensätzen der Spalte der zweiten Tabelle PERSON_NR vergleichen... So siehts bei mir aus: [php] SELECT KENNUNG STATUS FROM BUCH_ZEI WHERE AND PERSON_NR='$personalnr' Jetzt kommt noch eine 3. Tabelle dazu... Bei dieser soll der STATUS verglichen werden... So und das Endergebnis sollte jetzt so aussehen: NR | NACHNAME | VORNAME | ABTEIL | STATUS | KENNUNG | 1 2 3 4 5 usw bla. Geht das nicht einfacher? Ich kenne mich mit SQL nicht so gut aus... Gruß debitux Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 6. November 2003 Teilen Geschrieben 6. November 2003 SELECT NR, NACHNAME, VORNAME, ABTEIL,KENNUNG, STATUS FROM PERSONAL, BUCH_ZEI WHERE NR = PERSON_NR ORDER BY ABTEIL, NACHNAME [/PHP] du könnest es so machen. alles in einem sql.wenn ich die richtigen felder verknüpft haben sollte. oder reden wir aneinander vorbei?! :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
debitux Geschrieben 6. November 2003 Autor Teilen Geschrieben 6. November 2003 Oha danke! Bin ich eben auch drauf gekommen und habs schon gemacht... ;-D $query = " SELECT PERSONAL.ABTEIL AS Expr1, PERSONAL.VORNAME AS Expr2, PERSONAL.NACHNAME AS Expr3, BUCH_ZEI.KENNUNG AS Expr4, BUCH_ZEI.STATUS AS Expr5 FROM BUCH_ZEI INNER JOIN PERSONAL ON BUCH_ZEI.PERSON_NR = PERSONAL.NR WHERE (BUCH_ZEI.LETZ_DATUM = '02.01.2002') ORDER BY PERSONAL.ABTEIL, PERSONAL.NACHNAME"; [/php] Aber da gibts noch ein anderes Problem womit ich nit klar komme... Wie mache ich es das nur der letzte gefundene Datensatz von jeder Personal.NR gesucht wird? Weil im Moment siehts so aus... [code] Amt Name Vorname Status Fehlgrund 1 User1 NUser1 Anwesend null 1 User1 NUser1 Abwesend null 1 User1 NUser1 Anwesend null 1 User1 NUser1 Abwesend null 1 User2 NUser2 Abwesend null 1 User2 NUser2 Anwesend null 1 User2 NUser2 Abwesend null 1 User2 NUser2 Anwesend null 1 User3 NUser3 Anwesend null 1 User3 NUser3 Abwesend null 1 User4 NUser4 Anwesend null 1 User4 NUser4 Abwesend null 1 User5 NUser5Anwesend null [/code] Ich will aber das das Ergebnis später so aussieht.... (immer der letzte/aktuellste Datensatz...) [code] Amt Name Vorname Status Fehlgrund 1 User1 NUser1 Anwesend null 1 User2 NUser2 Abwesend null 1 User3 NUser3 Anwesend null 1 User4 NUser4 Anwesend null 1 User5 NUser5Anwesend null [/code] Vielleicht hast du ne Idee ;-) Gruß debitux Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 11. November 2003 Teilen Geschrieben 11. November 2003 wieso aktualisierst du die datensätze nicht, anstatt sie jedes mal wieder neu in die db zu schreiben!? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
just_me Geschrieben 15. November 2003 Teilen Geschrieben 15. November 2003 wieso aktualisierst du die datensätze nicht, anstatt sie jedes mal wieder neu in die db zu schreiben!?Weil's möglicherweise ein Log-Protokoll sein/werden soll?! möglich Lösung: Du sortierst die Liste absteigend nach Name, Vorname, Datum, Uhrzeit(?) und ID-Nummer(?), und filterst dann "doppelte Einträge" mit "distinct". Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
debitux Geschrieben 17. November 2003 Autor Teilen Geschrieben 17. November 2003 Hmmm mit dem absteigend sortieren hab ich schon gemacht... und gefiltert mit PHP.... Ich guck mir mal distinct an :-) Danke! Gruß debitux Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.