php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.05.2006, 19:05  
Benutzer
 
Registriert seit: 10.08.2004
Beiträge: 31
Finkman
Standard Mega Sql Query Problem

HI!
Ich hab eine Art Forum auf zwei verschiedenen Server laufen.
Server A hat 4.0.18 installiert und Server B ca 5.0!

Auf B läuft das Forum wie am schnürchen. Dabei benutze ich eine Abfrage um im Hauptthemenbereich den letzten Author aller Posts der Threads, die in diesem Hauptthemenbereich stecken anzu zeigen!

Code:
SELECT D.Author FROM(
SELECT C.Text, C.InstanceOf, C.Author, S.ID, S.InstanceOf As MainInstance
FROM (

SELECT M.Text, M.InstanceOf, M.ID, M.Author, M.InstanceOf
FROM ForumMsg AS M
) AS C
INNER JOIN ForumStruct AS S ON C.InstanceOf = S.ID
ORDER BY C.ID DESC) AS D INNER JOIN ForumStruct AS H ON D.MainInstance = H.InstanceOf
WHERE D.MainInstance = 1148057479
LIMIT 1
Wie gesagt.. auf B läufts und bei A bekomme ich die Meldung "Syntax Error. Please Check "SELECT C.Text, C.InstanceOf, ...""

Danke im Vorraus
Finkman ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.05.2006, 19:15  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

4.0.18 unterstützt keine Subselects.

entw. aufrüsten oder die Abfrage umstellen.
DiBo33 ist offline   Mit Zitat antworten
Alt 19.05.2006, 20:09  
Benutzer
 
Registriert seit: 10.08.2004
Beiträge: 31
Finkman
Standard

Ui!
Also ich hab erst seid 2-3 Woche mit SQL angefangen und ich wüsst net wie ich das jetzt änder! Hättest du oder irgendwer einen Vorschlag?
Finkman ist offline   Mit Zitat antworten
Alt 19.05.2006, 22:08  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Wie sieht denn deine Tabellenstruktur aus? Was für ein Resultat möchtest du mit welchen Ausgangsdaten erhalten?
xabbuh ist offline   Mit Zitat antworten
Alt 20.05.2006, 11:20  
Benutzer
 
Registriert seit: 10.08.2004
Beiträge: 31
Finkman
Standard

Es gibt eine Tabelle ForumStruct, in ihr wird die Structur des Forums gespeichert.
Dazu gibt es noch eine Tabelle inder die Nachrichten gespeichert werden (ForumMsg).
Das Forum ist quasi ein zweistufiger Baum. Jedes glied hat eine ID und ein InstanceOf. wobei InstanceOf die ID des übergeordneten Pfads ist.
Daraus entsteht dann:
Hauptthema 1
SubThema 1(oder Thread)
Nachricht 1, 2,3....
SubThema 2
Nachricht 1,2,3..
.
:
Hauptthema 2,3,4

Es soll nun in der Hauptthemaübersicht zu sehen sein, wer den letzten Beitrag geschrieben hat, dh. Man muss ins Hapththema gehen dort alle THreads suchen die als InstanceOf die ID des Hauptthemas haben, dann in jedem Thread die Nachrichten erfassen, die als InstanceOf die ID des Threads haben und dann nach dem ID absteigend aufzulisten und aufs erste element bescränken. Denn die IDs sind alle mit der Zeit wachsend.

Danke

Code:
CREATE TABLE `ForumStruct` (
  `ID` int(10) NOT NULL default '0',
  `Author` varchar(25) NOT NULL default '',
  `Date` int(10) NOT NULL default '0',
  `Caption` varchar(40) NOT NULL default '',
  `Description` longtext NOT NULL,
  `Type` varchar(6) NOT NULL default '',
  `InstanceOf` int(10) NOT NULL default '0',
  `Icon` varchar(10) NOT NULL default 'None',
  PRIMARY KEY  (`ID`)
)

CREATE TABLE `ForumMsg` (
  `ID` int(10) NOT NULL default '0',
  `Author` varchar(25) NOT NULL default '',
  `Date` int(10) NOT NULL default '0',
  `InstanceOf` int(10) NOT NULL default '0',
  `Text` longtext NOT NULL,
  `Edit` longtext NOT NULL,
  `EditDate` int(10) NOT NULL default '0',
  PRIMARY KEY  (`ID`)
)
Finkman ist offline   Mit Zitat antworten
Alt 20.05.2006, 12:06  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Also, die ForumMsg ist über InstanceOf mit der id der ForumStruct verknüpft und du willst von jeder id der ForumStruct dien letzten Eintrag aus ForumMsg?

Code:
SELECT ForumStruct.id, MAX(ForumMsg.id)
FROM  ForumStruct 
JOIN ForumMsg
ON ForumStruct.id = ForumMsg.InstanceOf
GROUP BY ForumStruct.id
Evtl. Tippfehler eingeschlossen.
DiBo33 ist offline   Mit Zitat antworten
Alt 20.05.2006, 12:12  
Benutzer
 
Registriert seit: 10.08.2004
Beiträge: 31
Finkman
Standard

Ne aber danke!
Es ist noch ein stück schlimmer!
Es sind immer zwei Elemente des ForumStruct mit einander verknüpft! Dazu ist das letzten nochmal mit den Nachrichtren aus ForumMsg verknüpft!
Finkman ist offline   Mit Zitat antworten
Alt 20.05.2006, 12:17  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Das wirst du nicht mehr über eine einzige Abfrage lösen können.

Du musst die Abfrage also aufdröseln.
DiBo33 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] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Problem bei einer Such Query Schiedsrichter Datenbanken 3 28.04.2008 17:10
MySQL Problem fkrauthan PHP-Fortgeschrittene 5 25.01.2008 18:18
MYSQL Query Variablen Übergabe Jay0815 PHP Tipps 2008 3 03.10.2007 19:48
NS Query Problem GSJLink Datenbanken 0 07.09.2007 18:04
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Problem: mehrfaches mysql_fetch_array skho PHP Tipps 2006 5 09.03.2006 15:11
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Query, was aus einer Tabelle mehrere Summen rausholt Datenbanken 3 14.09.2005 16:45
[Erledigt] Vermutlich ein php.ini Problem PHP-Fortgeschrittene 16 07.08.2005 20:23
[Erledigt] Interessantes Problem PHP-Fortgeschrittene 48 15.12.2004 23:19
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] Query läuft nicht Datenbanken 6 13.08.2004 21:13
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql query letzte einträge, mega sql abfrage, mega sql query

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