Zum Inhalt springen

[MySQL] - kombination zweier Tabellen


bmg4ever

Empfohlene Beiträge

Also ich hab hier grad ein Brett vorm Kopf...

Mal zur Situation in der Datenbank (ist eine MediaWiki DB)

Es gibt eine Tabelle "cur"

Diese enthält alle Artikel, Kategorien usw.

Die entscheidenden Felder sind:

cur_id, cur_title und cur_namespace

Dann gibt es noch die Tabelle "categorylinks"

Diese enthält die Informationen welcher Artikel oder Kategorie auf welche Kategorie verlinkt

Die entscheidenden Felder sind:

cl_from, cl_to und cl_sortkey

Ich suche nun alle Zeilen, die

cur_namespace=14

haben und

in der categorylinks-tabelle bei

"cl_to" auftauchen, also "cl_to=cur_title"

soweit ja nicht schwer. aber jetzt muss ich prüfen, ob

der artikel mit der id

cl_from

den namespace 0 hat

also

cur_namespace=0

Und dann will ich danach(!), also wenn die zeilen der zweiten bedingung raussind, auch noch eine Limitierung mit Offset-Wert machen.

Kann man das alles in eine SQL packen, oder muss ich dann das zweite mal gesondert prüfen und die Limitierung im Quellcode selber realisieren?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich's richtig verstanden habe, dann ungetestet:


 SELECT 

    c1.* 

  FROM 

    categorylinks AS cat 

  LEFT JOIN 

    cur AS c1 

    ON c1.cur_title=cat.cl_to 

  LEFT JOIN 

    cur AS c2 

    ON c2.cur_title=cat.cl_from 

  WHERE 

    c1.cur_id IS NOT NULL 

    AND c1.namespace='14' 

    AND c2.cur_id IS NOT NULL 

    AND c2.namespace='0'

  LIMIT 10

oder

  SELECT 

    c1.* 

  FROM 

    cur AS c1,

    cur AS c2, 

    categorylinks AS cat 

  WHERE 

    c1.cur_namespace='14' 

    AND cat.cl_to=c1.cur_title 

    AND c2.cur_title=cat.cl_from 

    AND c2.cur_namespace='0' 

  LIMIT 10;

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...