SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 01.11.2006, 11:59:23
IChier IChier ist offline
Anfänger
 
Registriert seit: Nov 2006
Beiträge: 4
LEFT JOIN ON a>b und filtern mit MAX ?

hi, ich kürz mal aufs vermeintlich wesentliche:

SELECT DISTINCT t1.gewicht, t2.groesse
FROM table1 t1
LEFT JOIN table2 t2
ON ( t1.usr = t2.usr
AND t1.date >= t2.date )
WHERE t1.usr = '666'

(kommt im aktuell speziellen fall noch order und limit und weitere felder - keine weiteren tables)

das probem das sich hier ergibt ist, daß mysql5 keinen 'richtigen' left join macht
also wenn für t1.date >= t2.date mehr als ein datensatz in t2 zutrifft, zeigt er diese auch an

mir ist inzwischen klar, daß ich irgendwie noch die ergebnisse des rechten tables mit MAX auf einen einzigen Wert aussortieren müsste. Aber wie geht das ? oder gibt es noch eine andere variante?

denke ist klar, daß ich das auf SQLseite lösen will und nicht mit php filtern
Mit Zitat antworten
  #2  
Alt 01.11.2006, 13:19:29
IChier IChier ist offline
Anfänger
 
Registriert seit: Nov 2006
Beiträge: 4
AW: LEFT JOIN ON a>b und filtern mit MAX ?

hm ok, got one solution: subquery

SELECT DISTINCT t1.gewicht, (
SELECT t2.groesse
FROM table2 t2
WHERE t1.usr = t2.usr
AND t1.date >= t2.date
ORDER BY t2.date DESC
LIMIT 0 , 1
) AS groesse
FROM table1 t1
WHERE t1.usr = '666'

funzt supi - nun aber das problem:
ich baue meine queries mit php zusammen
subqueries werden bis jetzt nicht unterstützt, eigentlich möcht ich das auch möglichst vermeiden, da beim rekursiven aufrufen noch diverse andere schwiereigkeiten hinzukämen :/ außerdemhab ich jetzt den nerv nicht

bin also für jede alternative zu haben!
nïkö
Mit Zitat antworten
  #3  
Alt 02.11.2006, 22:04:31
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: LEFT JOIN ON a>b und filtern mit MAX ?

Zitat:
Zitat von IChier Beitrag anzeigen
das probem das sich hier ergibt ist, daß mysql5 keinen 'richtigen' left join macht
also wenn für t1.date >= t2.date mehr als ein datensatz in t2 zutrifft, zeigt er diese auch an
Wenn du die Bedingung so formulierst, wird's auch so ausgegeben. Überleg' mal, was angezeigt werden soll, wenn t1.date >= t2.date...
Da könnte eine weitere Bedingung helfen. Oder du fügst deiner LEFT JOIN Variante das LIMIT hinzu.

Gruß
Heinrich
Mit Zitat antworten
  #4  
Alt 03.11.2006, 17:43:29
IChier IChier ist offline
Anfänger
 
Registriert seit: Nov 2006
Beiträge: 4
AW: LEFT JOIN ON a>b und filtern mit MAX ?

hm .. na der fehler ist mir ja klar
ein globales limit gibts sowieso
welcherlei bedingung würde denn gehen - mir fällt definitiv keine ein, deshlab ja auch ein forumpost :þ
wie kann ich denn explizit das left join limiten ? geht das ?

und wie gesagt, mit dem subquery funktionierts ja, so wies soll.
inzwischen habe ich sogar meine sqlklasse auf subquerys erweitert
aber eine elegantere lösung würde mir besser gefallen, bin immer für schnelles sql zu haben :D kann mir nicht vorstellen daß subqueries sonderlich performant sind ...

gruß, nïkö
Mit Zitat antworten
  #5  
Alt 05.11.2006, 21:23:55
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: LEFT JOIN ON a>b und filtern mit MAX ?

die zusätzliche Bedingung musst du schon selber wissen. Ich weiß schließlich nicht, was sich - von der Sache her - hinter deinen "date"-Angaben verbirgt.
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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
IExplorer <-> Firefox + CSS rsciw HTML, CSS und JavaScript Help! 10 25.09.2006 16:06:34
Limit in LEFT JOIN Abfrage? Neofox MySQLi/PDO/(MySQL) 0 06.09.2006 15:36:18
Abfrage LEFT JOIN verdreht die Plausibilitäten Franzx MySQLi/PDO/(MySQL) 5 06.12.2005 12:19:59
LEFT JOIN funtkioniert nicht richtig matthi80 MySQLi/PDO/(MySQL) 6 21.10.2005 14:21:26
Ist left join für mich die richtige wahl? pfuchs PHP Grundlagen 1 29.09.2003 20:31:40


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt