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 11-09-2003, 20:55
JoelH
 Registrierter Benutzer
Links : Onlinestatus : JoelH ist offline
Registriert seit: Jul 2001
Beiträge: 2.740
JoelH ist zur Zeit noch ein unbeschriebenes Blatt
Standard Der join dein Feind, wie verbinde ich diese beiden Query ?

Code:
SELECT  tb.fid,
        tb.tid,
        tb.topicname,
        tb.erstellerid,
        tb.helped,
        tb.state,
        us.pseudonym,
        tb.hits

FROM    topics tb,
        user us
        
WHERE   fid=".$forum." AND
        tb.erstellerid = us.erstellerid
und

PHP-Code:
$query "SELECT    DISTINCT tid
          FROM      topicbeitraege
          WHERE     fid = "
.$forum."
          ORDER BY  eid DESC LIMIT "
.(($zeigeseite-1)*20).",20"); 
Der zweite gibt mir die tid 's die ich haben will, diese will ich von den anderen beiden Tabellen dann mit Daten füllen lassen. Klar was ich meine ?


EDIT:
umbrüche by Abraxax

Geändert von Abraxax (11-09-2003 um 22:54 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 11-09-2003, 22:57
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.625
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

zuerst einmal habe ich deine 1. query verJOINt ...

Code:
SELECT  tb.fid,
        tb.tid,
        tb.topicname,
        tb.erstellerid,
        tb.helped,
        tb.state,
        us.pseudonym,
        tb.hits

FROM    topics tb
            LEFT JOIN user us USING(erstellerid)
        
WHERE   fid=".$forum
was hast du mit der 2. query vor? meine glaskugel wird gerade gereinigt.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #3 (permalink)  
Alt 12-09-2003, 01:15
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.279
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Code:
SELECT tb.fid, tb.tid, tb.topicname, tb.erstellerid, tb.helped, tb.state, us.pseudonym, tb.hits, b.*
  FROM topics tb
  LEFT JOIN user us
    ON tb.erstellerid = us.erstellerid
  LEFT JOIN topicbeitraege b
    ON tb.fid = b.fid
   AND tb.tid = b.tid
 WHERE tb.fid=$forum
Willst Du zum Beispiel Beiträge zählen, probier' sowas:

Code:
SELECT tb.fid, tb.tid, tb.topicname, tb.erstellerid, tb.helped, tb.state, us.pseudonym, tb.hits, COUNT(b.tid) counted
  FROM topics tb
  LEFT JOIN user us
    ON tb.erstellerid = us.erstellerid
  LEFT JOIN topicbeitraege b
    ON tb.fid = b.fid
   AND tb.tid = b.tid
 WHERE tb.fid=$forum
 GROUP BY tb.fid, tb.tid, tb.topicname, tb.erstellerid, tb.helped, tb.state, us.pseudonym, tb.hits
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #4 (permalink)  
Alt 12-09-2003, 04:21
JoelH
 Registrierter Benutzer
Links : Onlinestatus : JoelH ist offline
Registriert seit: Jul 2001
Beiträge: 2.740
JoelH ist zur Zeit noch ein unbeschriebenes Blatt
Standard [MySQL 4.0] hmm,

@Abraxax
was ich vor habe ?

Ganz einfach ich möchte den ersten Query nach dem zweiten sortiert auslesen.
Sprich nach der tid , diese soll allerdings nach der topicbeitraege.eid sortiert sein.

@goth
Der erste ist schon rech gut, hab ihn dahin erweitert
Code:
SELECT tb.fid, tb.tid, tb.topicname, tb.erstellerid, tb.helped, tb.state, us.pseudonym, tb.hits, b. * 
FROM topics tb
LEFT  JOIN user us ON tb.erstellerid = us.erstellerid
LEFT  JOIN topicbeitraege b ON tb.fid = b.fid AND tb.tid = b.tid
WHERE tb.fid = 4
ORDER BY b.eid DESC
jetzt fehlt mir nur noch das DISTINCT des zweiten Querys da drin, weil so bekomm ich alle Topics ausgegeben, ich brauche aber immer nur einen und zwar den mit der höchsten topicbeitraege.eid .

Geändert von JoelH (12-09-2003 um 04:31 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 12-09-2003, 05:54
JoelH
 Registrierter Benutzer
Links : Onlinestatus : JoelH ist offline
Registriert seit: Jul 2001
Beiträge: 2.740
JoelH ist zur Zeit noch ein unbeschriebenes Blatt
Standard [MySQL 4.0] hmm,

noch ein wenig probiert aber irgendwie wird das nix
Ich hab jetzt
Code:
SELECT  b.tid, b.eid, tb.fid, tb.tid, tb.topicname, tb.erstellerid, tb.helped, tb.state, us.pseudonym, tb.hits
FROM topicbeitraege b
LEFT  JOIN topics tb ON tb.fid = b.fid AND tb.tid = b.tid
LEFT  JOIN user us ON tb.erstellerid = us.erstellerid
WHERE b.fid = 4
ORDER  BY b.eid DESC
Der ist sogar 9 sec. schneller als der andere bringt das selbe Ergebnis, leider immer noch das Falsche

Er gibt zuviel zurück

Ich bekomme jetzt
sowas

tid | eid | ........
120 | 800 | ...
120 | 798 | ....
120 | 796 | ...
112 | 795 | ....
118 | 791 | ....

ich hätte aber gerne nur

tid | eid | ........
120 | 800 | ...
112 | 795 | ....
118 | 791 | ....

also lasse ich das b.eid im SELECT weg bekomme dann aber leider nur

tid | ........
120 | ...
118 | ....
112 | ....


das ist falsch sortiert Er sortiert dann nimmer nach der eid sondern wieder nach der tid Warum ?

PS:
@goth
Dein zweiter Query ist auch nicht schlecht Ja ich will auch mitcounten
Code:
SELECT tb.fid, tb.tid, tb.topicname, tb.erstellerid, tb.helped, tb.state, us.pseudonym, tb.hits, COUNT(b.tid) counted
  FROM topics tb
  LEFT JOIN user us
    ON tb.erstellerid = us.erstellerid
  LEFT JOIN topicbeitraege b
    ON tb.fid = b.fid
   AND tb.tid = b.tid
 WHERE tb.fid=4
 GROUP BY tb.fid, tb.tid, tb.topicname, tb.erstellerid, tb.helped, tb.state, us.pseudonym, tb.hits
ORDER BY b.eid DESC
Wieder sortiert nach der b.eid DESC leider auch hier das selbe Problem, er ignoriert einfach das ORDER BY

Geändert von JoelH (12-09-2003 um 05:59 Uhr)
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

Vorteile eines flexiblen ERP Systems
Vorteile eines flexiblen ERP SystemsEin flexibles ERP System bietet in allen Unternehmensbereichen die Grundlage für eine erfolgreiche Verwaltung, Organisation und Planung aller Prozesse.

01.12.2021 | Berni

Software für alle Arten von digitalen Marktplätzen
Software für alle Arten von digitalen MarktplätzenDigitale Marktplätze sind nicht nur im B2C Geschäft seit Jahren etabliert, sondern erfreuen sich mit Kleinanzeigen-Märkten auf lokaler und regionaler Ebene auch im privaten Bereich wachsender Beliebtheit.

09.11.2021 | Berni


 

Aktuelle PHP Scripte

kostenloser PHP-Editor Codelobster ansehen kostenloser PHP-Editor Codelobster

Kostenloser PHP, HTML, CSS, JavaScript editor (IDE) - Codelobster PHP Edition

06.12.2021 Berni | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
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

09.11.2021 Berni | Kategorie: PHP/ Anzeigenmarkt
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

28.10.2021 mirko_swm | Kategorie: PHP/ Mail
 Alle PHP Scripte anzeigen

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