php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-06-2011, 22:44
phpsven
 Banned
Links : Onlinestatus : phpsven ist offline
Registriert seit: Jan 2010
Beiträge: 39
phpsven befindet sich auf einem aufstrebenden Ast
Standard Priorität von Bedingungen

hallo

jetzt brauch ich mal eure Hilfe

habe folgende Abfrage:

select * FROM a LEFT JOIN b ON (b.id=a.id OR b.standard='1')

b.standard='1' soll nur ausgeführt werden wenn b.id=a.id nicht zutrifft


ich hoffe mir kann jemand helfen
Mit Zitat antworten
  #2 (permalink)  
Alt 02-06-2011, 22:45
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.787
h3ll befindet sich auf einem aufstrebenden Ast
Standard

XOR
Mit Zitat antworten
  #3 (permalink)  
Alt 02-06-2011, 23:41
phpsven
 Banned
Links : Onlinestatus : phpsven ist offline
Registriert seit: Jan 2010
Beiträge: 39
phpsven befindet sich auf einem aufstrebenden Ast
Standard

für das erste Join funzt es aber beim 2. will er nicht mehr mit dem XOR

FROM
a, b
LEFT JOIN
c ON (c.id=b.id XOR c.standard='1')
LEFT JOIN
d ON (d.id=b.id XOR d.standard='1')
Mit Zitat antworten
  #4 (permalink)  
Alt 02-06-2011, 23:44
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.787
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Doch, er will. Der Fehler liegt irgendwo anders, aber mangels Informationen kann man nicht viel darüber sagen.

Was soll eigentlich das "a, b"? Vermischst du Theta-Style Joins mit SQL-Joins? Das ist furchtbar. Außerdem erzeugst du damit ein Kreuzprodukt.
Mit Zitat antworten
  #5 (permalink)  
Alt 02-06-2011, 23:52
phpsven
 Banned
Links : Onlinestatus : phpsven ist offline
Registriert seit: Jan 2010
Beiträge: 39
phpsven befindet sich auf einem aufstrebenden Ast
Standard

a, b, c und d sind die Tabellen

ok ich setz mal die ganze Abfrage rein

SELECT
eu.*,
eg.*,
ed.*,
et.*
FROM
easy_".$d."_gruppen eg, easy_".$d."_user eu
LEFT JOIN
easy_".$d."_design ed ON (ed.designid=eu.designid XOR ed.standard='1')
LEFT JOIN
easy_".$d."_template et ON (et.templateid=eu.templateid XOR et.standard='1')
WHERE
eu.userid='".$userid."'
AND eu.passwort='".$passwort."'
AND eu.useraktiv='1'
AND eg.gruppeid=eu.gruppeid
LIMIT 1
Mit Zitat antworten
  #6 (permalink)  
Alt 03-06-2011, 00:07
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.787
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Bitte mach aus dem Theta-Style-Join einen sauberen Join. Sowas ist einfach furchtbar zu lesen.
Mit Zitat antworten
  #7 (permalink)  
Alt 03-06-2011, 00:48
phpsven
 Banned
Links : Onlinestatus : phpsven ist offline
Registriert seit: Jan 2010
Beiträge: 39
phpsven befindet sich auf einem aufstrebenden Ast
Standard

weiss nicht genau was du meinst

so wie es aussieht lädt er wenn die Bedingung nicht zutrifft die 2. Bedingung, trifft aber die erste Bedingung zu lädt er nichts aus der Tabelle
Mit Zitat antworten
  #8 (permalink)  
Alt 03-06-2011, 00:53
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.787
h3ll befindet sich auf einem aufstrebenden Ast
Standard

XOR funktioniert. Es muss an den Daten liegen oder du interpretierst das Ergebnis falsch.

Theta-Style-Joins sind die hässlichen Dinger mit den Kommas.

Pfui: SELECT * FROM tabelle_a, tabelle_b
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[CSS] Priorität von Definitionen strauberry HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 5 24-07-2007 19:22
Bedingungen g0n PHP Developer Forum 9 31-12-2003 10:36
Mail Priorität und Anhang... Deathrow PHP Developer Forum 4 14-08-2003 16:44
imap priorität auslesen FourSix PHP Developer Forum 1 06-06-2003 15:03
Priorität von Mail MoRtAlAn PHP Developer Forum 2 12-09-2002 17:34

Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

29.04.2021 mirko_swm | Kategorie: PHP/ Mail
OXID eShop

Mit OXID eshop bieten wir Ihnen eine modulare und skalierbare Internet Shopping Software mit einem hervorragenden Preis-/Leistungsverhältnis.

29.04.2021 eric.jankowfsky@ | Kategorie: PHP/ Shops
PHP-Login

Die Aufgabenstellung bestand darin, ein einfaches Login-Script zu erstellen, dass schnell und universell auf jeder Webseiten eingebaut werden kann. Der Schwerpunkt lag dabei auf der Entwicklung eines universell einsetzbarem Modul für den Login und zur

05.04.2021 Wallhalla | Kategorie: PHP/ Kundenverwaltung
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:12 Uhr.