Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

tabellenverknüpfung und "null" werte

Diskussion: tabellenverknüpfung und "null" werte im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige hallo! ich habe 2 tabellen: Fragen: UID - primär key Frage Antworten: UID -primär UserID FragenID - schlüssel von ...

Antwort
Alt 24.01.06, 12:17   #1 (permalink)
 
Registriert seit: 13.01.06
ShadowFire Leistung: Facit NTK
Likes: 0
Standard tabellenverknüpfung und "null" werte

Anzeige

hallo!

ich habe 2 tabellen:

Fragen:
UID - primär key
Frage

Antworten:
UID -primär
UserID
FragenID - schlüssel von fragen
Antwort

nun mein problem:

ich möchte aus der datenbank alle fregen haben und die dazu gehörigen antworten.
sollte eine frage noch keine antwort haben, soll die frage dennoch eingelesen werden, und das antwort-feld null, bzw leer sein

natürlich WHERE UserID = "xxx" :)

bin für jeden tip dankbar!

ShadowFire ist offline   Mit Zitat antworten
Alt 24.01.06, 12:30   #2 (permalink)
 
Registriert seit: 15.08.03
flame Leistung: Facit NTK
flame eine Nachricht über ICQ schicken
Likes: 0
Standard

Ich versteh dein Problem nich so ganz. normal wird soch jeder satz ausgegeben, auch wenn dort felder keine werte haben. solange du nicht explizit angibst "where Antwort != NULL"

Oder reden wir aneinander vorbei?
flame ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 24.01.06, 13:19   #3 (permalink)
Themenstarter
 
Registriert seit: 13.01.06
ShadowFire Leistung: Facit NTK
Likes: 0
Standard

also, meine abfrage lautete.

Code:
select f.frage, a.antwort from frage as f 
left outer join antwort as a on
 f.uid = a.fragenid 
where a.userid = 1
wenn ich die where klausel weg lasse, klappt es
so bekomme ich nur die fragen, die der user 1 au ch beantwortet hat...
aber ich brauche alle fragen

kopf->tisch ();
ShadowFire ist offline   Mit Zitat antworten
Alt 24.01.06, 14:37   #4 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

Wenn Du Where a.UserID = 1 eingibst ist das schon klar!

Falls Du nur die zwei Tabellen miteinander verknüpfen willst dann kannst Du das so auch machen.

SELECT f.Frage as Frage, a.Antwort as Antwort FROM Fragen as f, Antworten as a WHERE f.UID = a.FragenID;
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
Alt 24.01.06, 14:52   #5 (permalink)
Themenstarter
 
Registriert seit: 13.01.06
ShadowFire Leistung: Facit NTK
Likes: 0
Standard

dann bekomme ich aber nur die fragen, die auch beantwortet sind. ich muss aber alle fragen bekommen. das ist das problem
ShadowFire ist offline   Mit Zitat antworten
Alt 24.01.06, 14:58   #6 (permalink)
 
Registriert seit: 24.01.06
Sony Leistung: Facit NTK
Likes: 0
Standard

wenn du user id 0 nimmst und in der tabbelel die id eingibst musste der alle fragen anzeigen mit und ohne antwort
Sony ist offline   Mit Zitat antworten
Alt 24.01.06, 21:28   #7 (permalink)
Moderator
 
Registriert seit: 17.10.01
soox Leistung: Facit NTK
Likes: 0
Standard

hab mir das ganze mal kurz angeschaut...meine erste idee waere natuerlich folgende
Code:
select f.frage, a.antwort from frage as f 
left outer join antwort as a on
 f.uid = a.fragenid 
where a.userid = 1 OR a.userid IS NULL
was jedoch nur funktoniert, wenn noch keine antworten von einer anderen person auf diese "NULL FRAGEN" gemacht worden sind --> unbrauchbar.

moeglich ist das ganze sicherlich mit irgendwelchen IF/SWITCH-CASE konstrukten. aber ob nicht ein
SELECT * FROM frage ORDER BY fragenid
und
SELECT * FROM antowrt WHERE uid = 1 ORDER BY fragenid
einfacher ist, ist die andere frage (ist schlussendlich nur 1 select mehr und bei der ausgabe hast du auch nicht mehr schleifendurchgaenge).

ach ja...subselects sind da natuerlich auch moeglich...aber erst mit mysql 5 oder so (korrigiert mich wenn ich mich mit der version vertan hab...nutze in letzter zeit nur noch postgres)
soox ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » tabellenverknüpfung und "null" werte
Themen-Optionen
Ansicht

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.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MYSQL: NULL =0 Oo kcirta Applikationen 6 14.08.08 07:11
Woher kommt die null? DaRaffa Internet Allgemein 3 19.11.06 15:50
internet explorer zeigt null an peer-olav Die Problemzone 2 15.10.05 19:37
von null auf hundert in 2 sec Crux Fun Section 1 28.05.05 10:45


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61