php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.09.2005, 10:52  
Gast
 
Beiträge: n/a
Standard Falsche Ausgabe bei WHERE Clause

Hallo zusammen,

habe 2 Tabellen:

host_essen
id | host
------------
8 |100001



host_muelheim
id | host
-------------
5 | 100000


Bei folfender Abfrage:

Code:
SELECT host_essen.host AS essen, host_muelheim.host AS muelheim
FROM host_essen, host_muelheim
WHERE host_essen.id = '8' OR host_muelheim.id = '8'
erhalte ich folgendes Ergebnis:

essen | muelheim
100001 | 100000


kann mir bitte jmd. sagen was daran falsch ist bzw. warum er BEIDE Werte ausspuckt, obwohl es die id = 8 nur einmal gibt!?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.09.2005, 10:56  
Gast
 
Beiträge: n/a
Standard

Zitat:
host_muelheim.id = '8"
' oder " ?
  Mit Zitat antworten
Alt 28.09.2005, 11:00  
Gast
 
Beiträge: n/a
Standard

Das war nur ein Tippfehler, wurde wieder korrigiert.
  Mit Zitat antworten
Alt 29.09.2005, 13:42  
Gast
 
Beiträge: n/a
Standard

Hallo,

weil die SQL-Anfrage murks ist:

Genaugenommen fragst Du alles ab, wo host_essen.id = 8 ist ODER host_muelheim= 8. MySQL macht dann auch genau das: Es sucht die id sowohl in der host_essen-Tabelle und in der host_muelheim-Tabelle. Finden tut MySQL die id=8 in der host_essen-Tabelle, damit ist die WHERE-Abfrage erfüllt, und die Ausgabe ergibt sich aus dem gefundenen Eintrag in der host_essen-Tabelle, kombiniert mit allen Einträgen der host_muelheim-Tabelle. Wenn Du noch mehr Einträge in der host_muelheim-Tabelle hättest, also zum Beispiel id = 1, host = 1 und id = 2, host = 2, dann würdest Du als Ergebnis bekommen:

essen | muelheim
100001 | 1
100001 | 2
100001 | 100000

Schlimmer noch: Wenn es einen Eintrag mit id = 8 auch in der muelheim-tabelle geben würde, dann hättest zu diesem Eintrag auch noch zusätzlich Suchergebnisse, die diesen Eintrag mit allen Einträgen aus host_essen kombiniert.

Gruß,
Stormray
  Mit Zitat antworten
Alt 29.09.2005, 14:06  
Gast
 
Beiträge: n/a
Standard

Stimmt, hast ja vollkommen Recht
Also 2 mal die gleiche ID wird es nicht geben.
Wenn ich nachher mal Zeit habe, werd ich nochmal schauen wie man das
anders machen könnte, melde mich also nochmal. Erst einmal
muss ich was wichtigeres machen bevor ich mich damit näher befasse.

Trotzdem danke schonmal.
  Mit Zitat antworten
Alt 29.09.2005, 14:12  
Gast
 
Beiträge: n/a
Standard

Wie ist das ganze denn geplant? Müssen es denn zwei verschiedene Tabellen sein? Im Augenblick erscheint es mir relativ unsinnig, da überhaupt zwei Tabellen zu haben, eine Tabelle (id, host, ort) wäre vermutlich praktikabler?!? Damit wäre die Anfrage einfach:

SELECT * FROM hosttabelle WHERE id = '8';

Gruß,
Stormray
  Mit Zitat antworten
Alt 29.09.2005, 14:43  
Gast
 
Beiträge: n/a
Standard

Also wenn ich hier alles aufführen würde, würde es meinen zeitlichen Rahmen spregen

Ich muss das mit mehreren tabellen machen. da der wert "host" auf auto_increment steht und ich zu jedem ort seperate hosts habe, davor kommt
auch noch eine kennung "d-e" für essen oder "d-mhm" für mülheim und und un.
Geht also nicht anders, muss nun zusehen wie ich das so irgendwe hinbekomme.

Bin gerade mit den Eintragen der Daten aus einem Formuler in die DB fertig geworden.
Insgesamt 7DINA4 Seiten Quelltext.

Nun mache ich mich mal an die AUSGABE.
Werde dann wohl bald schon auf diese Abfrage hier zurückkommen "müssen".
  Mit Zitat antworten
Alt 29.09.2005, 15:31  
Gast
 
Beiträge: n/a
Standard

Was mir gerade noch einfällt,
ich müsste wohl für jede Tabelle eine einzelne Abfrage machen, bzw. je nach
Standort der Person, direkt in der Tabelle die dem Ort entspricht suchen.

Ok, für euch hier alle nun etwas unverständlich, weil ich nicht wisst wie es bei
mir aufgebaut ist, aber ich denke so müsste es passen
  Mit Zitat antworten
Alt 07.10.2005, 10:18  
Gast
 
Beiträge: n/a
Standard

So Leute, das Problem besteht immer noch und nun komm ich nicht
mehr weiter wenn ich es nicht gelöst habe.

Jemand ne Idee, oder soll ich doch lieber nochmal von vorne erzählen?!
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Unknown column in 'where clause' Datenbanken 11 10.07.2011 18:11
Unknown column 'test' in 'where clause' PHP Tipps 2005 4 03.06.2009 14:20
Smarty + MySQL = immer falsche Ausgabe m0use` PHP Tipps 2006 44 21.11.2008 20:30
Parsen von Delimitern Basti Tutorials 0 30.09.2006 21:24
falsche ausgabe von numerischen datensatz bei sql-abfrge XraYSoLo PHP Tipps 2006 5 12.09.2006 11:00
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
Ausgabe wird an die falsche Stelle includet. PHP Tipps 2005-2 6 25.10.2005 13:25
WHERE Falsche Abfrage? Kein MySQL Fehler PHP Tipps 2005-2 10 30.09.2005 10:43
3 Tabellen verbunden -- Ausgabe in einer Spalte Datenbanken 4 06.09.2005 10:43
Befehlsoptimierung faux Datenbanken 4 31.05.2005 19:11
Warum falsche numerische ausgabe bei date()? PHP Tipps 2005 5 11.03.2005 10:58
Falsche Ausgabe bei for-Schleife PHP Tipps 2005 9 09.03.2005 16:01
[Erledigt] Sortierung der Ausgabe PHP-Fortgeschrittene 3 08.10.2004 09:22
preg_match_all? Falsche Ausgabe PHP Tipps 2004 4 28.09.2004 16:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
wp_02slim_browsers\' doesn\'t exist, mysql reihenfolge ausgabe wie in where clause, php zwei where clause, was bedeutet unknown column \'kennung\' in \'where clause\', php where mit zwei clauses, where clause über 2 tabellen, unknown column \'kennung\' in \'where clause\' php

Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.