php-resource



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

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

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 08-03-2004, 15:28
TheTiggA
 Newbie
Links : Onlinestatus : TheTiggA ist offline
Registriert seit: Mar 2004
Ort: Viersen
Beiträge: 12
TheTiggA ist zur Zeit noch ein unbeschriebenes Blatt
TheTiggA eine Nachricht über ICQ schicken
Standard [MySQL 3.23.X] Tabellenverknüpfung

Hallo zusammen.

Ich weiss es gibt einen thread mit Erklärungen zu joins, aber leider ist nichts passendes dabei..

Ich habe 2 Tabellen

file und file_rev

Felder:
file -> name, description, size
file_rev -> name, date, rev

Datenbeispiel.

file -> abc.tar.gz, Beschreibung, 1234

file_rev -> abc.tar.gz, 07.03.04, 0.1
file_rev -> abc.tar.gz, 08.03.04, 0.2

Ich möchte nun über eine SQL abfrage folgendes Resultat erhalten.

abc.tar.gz, Beschreibung, 1234, 0.2 <- NEUSTE Revision (anhand des Datums)

max(date) habe ich nirgendwo sinnvoll unterbringen können.

Kann mir da jemand helfen ?
Mit Zitat antworten
  #2 (permalink)  
Alt 08-03-2004, 20:48
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

order by
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #3 (permalink)  
Alt 09-03-2004, 09:49
TheTiggA
 Newbie
Links : Onlinestatus : TheTiggA ist offline
Registriert seit: Mar 2004
Ort: Viersen
Beiträge: 12
TheTiggA ist zur Zeit noch ein unbeschriebenes Blatt
TheTiggA eine Nachricht über ICQ schicken
Standard

SELECT f.name, f.description, f.size, r.rev
FROM `file` AS f, `file_rev` AS r
WHERE f.name = r.name
ORDER BY r.rev DESC
LIMIT 0 , 1

Is scho in Ordnung aber nur für einen Datensatz.
in den tabellen stehen mehrere zeilen, und ich brauch alle Daten in einem result.
Mit Zitat antworten
  #4 (permalink)  
Alt 09-03-2004, 09:51
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von TheTiggA
Is scho in Ordnung aber nur für einen Datensatz.
sollte dich nicht allzu sehr verwundern, wenn du LIMIT 0 , 1 mit reinschreibst.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 09-03-2004, 10:29
TheTiggA
 Newbie
Links : Onlinestatus : TheTiggA ist offline
Registriert seit: Mar 2004
Ort: Viersen
Beiträge: 12
TheTiggA ist zur Zeit noch ein unbeschriebenes Blatt
TheTiggA eine Nachricht über ICQ schicken
Standard

Verwundert mich auch nicht. Ich sagte ja, für einen Datensatz ok.
Wenn ich Limit rauslasse stehen alte Revisionen mit in dem Result und die kann ich nichtz gebrauchen....
Mit Zitat antworten
  #6 (permalink)  
Alt 09-03-2004, 10:38
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Code:
SELECT 
  f.*, r.*
FROM 
  file f
  INNER JOIN file_ref r ON f.name = r.name
    LEFT JOIN file_ref r_dummy
    ON 
      r.name = r_dummy.name
      AND
      r.date < r_dummy.date
WHERE
  r_dummy.name IS NULL
probier das mal
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #7 (permalink)  
Alt 09-03-2004, 11:32
TheTiggA
 Newbie
Links : Onlinestatus : TheTiggA ist offline
Registriert seit: Mar 2004
Ort: Viersen
Beiträge: 12
TheTiggA ist zur Zeit noch ein unbeschriebenes Blatt
TheTiggA eine Nachricht über ICQ schicken
Talking

Das sieht brauchbar aus, danke

(jetz sollte ich das nur noch verstehen)
Mit Zitat antworten
  #8 (permalink)  
Alt 09-03-2004, 11:40
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

wo hängt's denn?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #9 (permalink)  
Alt 09-03-2004, 17:57
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

dafür gibts ja das manual.

BTW: order by macht nicht mehr als der name sagt
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #10 (permalink)  
Alt 10-03-2004, 10:03
TheTiggA
 Newbie
Links : Onlinestatus : TheTiggA ist offline
Registriert seit: Mar 2004
Ort: Viersen
Beiträge: 12
TheTiggA ist zur Zeit noch ein unbeschriebenes Blatt
TheTiggA eine Nachricht über ICQ schicken
Standard

Ich verstehe den Syntax schon, nur weiß ich nichts mit dem dummy anzufangen.
Mit Zitat antworten
  #11 (permalink)  
Alt 10-03-2004, 10:15
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

du willst ja aus der tabelle file_ref den höchsten eintrag je name, daher den left join mit name

r.date < r_dummy.date sucht dir die eintrage aus file_ref, zu denen es ein größeres datum gibt, gibt es kein größeres wird durch den left join für r_dummy NULL geliefert

das anschließende WHERE r_dummy.name IS NULL schränkt das ergebnis dann wieder auf eben diese größten werte ein
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #12 (permalink)  
Alt 10-03-2004, 10:32
TheTiggA
 Newbie
Links : Onlinestatus : TheTiggA ist offline
Registriert seit: Mar 2004
Ort: Viersen
Beiträge: 12
TheTiggA ist zur Zeit noch ein unbeschriebenes Blatt
TheTiggA eine Nachricht über ICQ schicken
Standard

*klick*

Jetz hats gefunkt... Danke !!!
Mit Zitat antworten
Antwort

Lesezeichen


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

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

OnPremise versus Cloud - das richtige System finden
Wir beleuchten in diesem Artikel, die Vor- und Nachteile für Cloud oder OnPremise Systemen. Und warum es definitiv Zeit wird in die Cloud zu wechseln.

09.05.2022 | julia_mjr

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

01.07.2022 Berni | Kategorie: PHP/ Anzeigenmarkt
NewsLetter Script PHP ansehen NewsLetter Script PHP

NewsLetter Script PHP is a simple email subscriptions newsletters script written in PHP and MySQL. Admin could send news in the letters to a mailing list of subscribed visitors. All the news and subscription form could be placed into a page of your web

28.06.2022 nevenov | Kategorie: PHP/ Mail
Contact Form PHP ansehen Contact Form PHP

Each website needs a contact form - Contact Form PHP script is very easy to install on your contacts page and administer.

27.06.2022 nevenov | Kategorie: PHP/ Formular
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:21 Uhr.