SELECT über mehrere Tabellen sortieren

DiDiJo

Erfahrenes Mitglied
Hey Leute,

ich hab ein Portal mit mehreren Standaorten die alle Ihre eigenen News haben. Diese "NewsTabelle" hat für jeden Standort die gleiche struktur.

Beispiel für mallorca:
id header content picture timestamp

das reicht erstmal fürs grobe. Neben Mallorca habe ich auch noch news Tabellen für Kitzbühel oder Zürich mit der gleichen Struktur.

Nun möchte ich nen RSS-Feed haben der Mir die letzten 10 oder 15 News aus allen Portalen raussucht. Nun die frage .. .wie mache ich das. ich kann ja schlecht folgendes machen:

"SELECT * FROM andratx_news, kitzbuehel_news, madrid_news, mailand_news, monaco_news, zuerich_news WHERE lang='".PROPERTY_LANGUAGE."' ORDER BY timestamp DESC LIMIT 0,10".

Außerdem habe ich noch das Problem das ich gar nicht weiß welche news ich eigentlich gerade selecte, da ich keinerlei infos darüber habe aus welcher Tabelle gerade die news kommen.


mal eine beispielausgabe:
01 head01 content picture 17798564
85 head85 content picture 17798543
73 head73 content picture 17798434
12 head12 content picture 17798411
55 head55 content picture 17798064

nun sehe ich nicht welche news aus kitzbühl oder mallorca kommen. gibt es zusätzlich noch die möglichkeit den Tabellen Namen zu selcten sowas wie das:


"SELECT * FROM andratx_news table_name, kitzbuehel_news table_name, .... und so weiter

ich hoffe ich konnte euch mein problem so beschreiben, das ihr damit wat anfangen könnt.
 
Hi,

Du möchtest ein UNION über die Tabellen machen und diesen dann nach Datum sortieren. Wenn Du wissen möchtest, aus welcher Tabelle der aktuelle Datensatz gerade kommt, musst Du noch eine zusätzliche Spalte mit dem jeweiligen Namen in das Ergebnis mitaufnehmen:

Code:
(SELECT *, "tabelle1" AS tabellenname FROM ...) 
   UNION
(SELECT *, "tabelle2" AS tabellenname FROM ...)
...
ORDER BY datumsfeld DESC LIMIT irgendwas

LG
 
Zurück