php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.08.2007, 23:39  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard SELECT von werten die nicht in lookuptable stehen

Hallo,
Ich habe drei tabellen:

platforms:
ID | Name |

games:
ID | Spielname |

und plattformen_game_lookup lookup:

PID | GID |

Nun möchte ich alle Plattformen selectieren, in die das Game nicht eingetragen ist, was ich bereits habe ist die ID des Games:

Folgende Query würde glaube ich funktionieren, wenn andere Games in die Plattform eingetragen sind:

Code:
SELECT Name, ID, GID FROM platforms LEFT JOIN platform_game_lookup ON platforms.ID = PID AND  platform_game_lookup.GID != '".$gid."'
Aber wie muss meine Query aussehen, dass das auch funktioniert wenn die Datenbank keine Einträge enthält?

Grüße und Danke
Obi
obi ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.08.2007, 13:42  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo obi,

du kannst auch einfach dadurch lösen, dass du über die Beziehungstabelle selektierst und nachsiehst, wo kein Eintrag für ein Game existiert. Man kann das auch mit einem LEFT OUTER JOIN lösen - vermute ich. Musst dann die WHERE-Clause entsprechend negativ formulieren.

Solltest du nicht weiterkommen, schau ich mir das heute Abend nochmal an, ich muss jetzt weg.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 30.08.2007, 16:37  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard

Hallo,
danke erstmal für den Tipp, ich hab's jetzt so gemacht uznd es funktioniert gut:
PHP-Code:
$query "SELECT Name, ID, platform_game_lookup.GID FROM platforms LEFT OUTER JOIN platform_game_lookup ON platforms.ID = platform_game_lookup.PID AND platform_game_lookup.GID = '".$gid."'";
$result mysql_query($pfquery) or die(mysql_error());

while(
$row mysql_fetch_array($result))
       {
    if (
$row["GID"] == "")
        {                
        echo 
"[*]<input type='checkbox' name='pfadd[]' value='".$row["ID"]."' />".$row["Name"]."";
        }
    } 
obi ist offline   Mit Zitat antworten
Alt 30.08.2007, 16:40  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

So nebenbei, ich glaube != gibt es so nicht in MySQL für "ungleich" oder bedeutet unter umständen etwas anderes. Normalerweise wird IS NOT oder <> verwendet

Kann mir das jemand bestätigen? Kann mich nämlich auch irren.

Grüße
Da Psy
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline   Mit Zitat antworten
Alt 30.08.2007, 16:48  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von PsychoEagle
So nebenbei, ich glaube != gibt es so nicht in MySQL für "ungleich" oder bedeutet unter umständen etwas anderes. Normalerweise wird IS NOT oder <> verwendet

Kann mir das jemand bestätigen? Kann mich nämlich auch irren.

Grüße
Da Psy
Hatte das auch so im Hinterkopf
cycap ist offline   Mit Zitat antworten
Alt 31.08.2007, 13:30  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von cycap
Zitat:
Zitat von PsychoEagle
So nebenbei, ich glaube != gibt es so nicht in MySQL für "ungleich" oder bedeutet unter umständen etwas anderes. Normalerweise wird IS NOT oder <> verwendet

Kann mir das jemand bestätigen? Kann mich nämlich auch irren.

Grüße
Da Psy
Hatte das auch so im Hinterkopf
Ziehe meine Aussage zurück. Habs ausprobiert! Das "!=" hat funktioniert, dafür hat das IS NOT nicht funktioniert. Ist das vielleicht Versionsabhängig?
cycap ist offline   Mit Zitat antworten
Alt 31.08.2007, 14:34  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Öhm, meinte IS NOT LIKE oder IS NOT NULL. Ob das mit Werten wie IS NOT "bla" geht glaube ich nicht. Habs jedoch nicht ausprobiert.

Hmm, interessant, dass das mit != funktioniert. Als ich das mal hatte, ging es nicht "richtig" und ich bekam falsche Ausgaben aus meiner Datenbank, weshalb ich darauf kam. Aber gut zu wissen

Grüße
Da Psy
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline   Mit Zitat antworten
Alt 31.08.2007, 16:00  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

!= gibt es ganz normal in SQL auch.

Am einfachsten ist immer erst nachschauen bevor ihr ne Frage habt.
Handbuch
Flor1an ist offline   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] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
[Erledigt] Mysql Insert Select + Concat Hu5eL Datenbanken 14 10.06.2008 10:39
Select - Preselect simsalabim HTML, Usability und Barrierefreiheit 6 22.11.2007 20:21
Javascript Select liste verdoppeln dsmcg HTML, Usability und Barrierefreiheit 8 19.10.2006 16:56
SELECT AS geht bei AVG net cyberholic Datenbanken 0 04.05.2006 09:43
Problem beim Auswerten eines select Feldes FireFIghter PHP Tipps 2006 3 23.04.2006 15:28
[JavaScript] Event Handler in form select - Syntax? winfo_cologne HTML, Usability und Barrierefreiheit 5 29.03.2006 16:47
Im Select eine IFF Abfrage bendigo Datenbanken 4 21.11.2005 14:11
[Erledigt] Gleiches Select aber unterschiedliches Ergebnis Datenbanken 6 05.11.2005 14:13
SELECT um eine Bedingung erweitern ?! Datenbanken 2 22.10.2005 10:09
Probleme mit Inner Select Datenbanken 0 19.10.2005 15:22
selbst gelöst! Select <option> kleines Problem Dropdow 24bits PHP Tipps 2005-2 0 15.10.2005 19:19
[Erledigt] SELECT in SELECT PHP Tipps 2005 5 06.04.2005 22:30
[Erledigt] 2 mal select 1 form PHP-Fortgeschrittene 1 01.09.2004 20:13
selektierter wert in select box anzeigen PHP Tipps 2004 6 30.08.2004 13:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
lookup table php

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:41 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.