WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 25.03.2003, 08:46   #1
Gonte
Veteran
 
Registriert seit: 15.08.2001
Alter: 51
Beiträge: 235


Standard SQL-Frage

huhu!

ich stehe vor folgendem problem. ich code gerade ein kleines board bzw. knowledgebase für mich (php, mysql), in das/die user posts machen können. andere user können dieses posts verändern und auf den neuesten informationsstand bringen.
in der table, in der ich die einzelnen posts speichere, sind zwei felder, die auf eine user-table verweisen. das eine feld beinhaltet die id desjenigen, der den post angelegt hat; das andere feld die id desjenigen, der den post zuletzt verändert hat.

beim auslesen der posts mache ich einen join auf die user-table und hole mir den namen des posts-starters aus der user-table.

ich will aber gleichzeitig auch den namen desjenigen ermitteln, der den post zuletzt verändert hat. also zwei namen aus der user-table mit nur einem query holen.

ist das irgendwie möglich? irgendwie komme ich da nicht weiter und meine google-such-versuche erwischen anscheinend immer die falschen suchbegriffe. ich wäre für hilfe dazu sehr dankbar.
Gonte ist offline   Mit Zitat antworten
Alt 25.03.2003, 09:54   #2
Tarjan
Quantensingularität
 
Registriert seit: 28.09.2000
Alter: 55
Beiträge: 8.336


Tarjan eine Nachricht über ICQ schicken
Standard

So könnte es gehen:

select * from postingtable p, usertable u where (hauptargument um posting zu selektieren) and (p.threadersteller = u.user or p.postigeditierer = u.user)

Du musst die beiden Felder mit oder Verknüpfen, dann kommen mit einer SQL Abfrage 2 Datensätze. Die eine mit dem Threadersteller, die andere mit dem Postingveränderer.
____________________________________
Was ist klein, grün und dreieckig?
Ein kleines grünes Dreieck!


Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg!
Tarjan ist offline   Mit Zitat antworten
Alt 25.03.2003, 10:01   #3
NorwegianBlue
Newbie
 
Registriert seit: 22.02.2003
Beiträge: 13


Standard

hallo!

man kann natürlich auch eine Tabelle (users) zweimal in einem select verwenden, z.B. so:

select posts.text, u1.name, u2.name from posts, users u1, users u2 where posts.creator_id = u1.id and posts.modifier_id = u2.id

man muss nur die Tabellen, die man öfter verwendet mit einem alias versehen (hier u1 und u2)
wenns (noch) keinen modifier des posts gibt, musst ev. einen outer join machen (geht das in mysql überhaupt?)

hope that helps
NorwegianBlue ist offline   Mit Zitat antworten
Alt 25.03.2003, 13:30   #4
Gonte
Veteran
 
Registriert seit: 15.08.2001
Alter: 51
Beiträge: 235


Standard

vielen dank! genau das habe ich gesucht!

wieder was dazu gelernt!
Gonte ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:24 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag