SQL-Abfrage / Tabellenzusammenfassung

Arne Buchwald

Erfahrenes Mitglied
Hallo,

ich habe folgende zwei Tabellen (jeweils nur die Ausschnitte):
Code:
#
# Table structure for table `kategorie`
#

CREATE TABLE kategorie (
  kategorieid int(11) NOT NULL default '0',
  name varchar(100) NOT NULL default '',
  beschriftung mediumtext NOT NULL,
  displayorder int(11) NOT NULL default '0',
  PRIMARY KEY  (kategorieid)
) TYPE=MyISAM;
Code:
#
# Table structure for table `forum`
#

CREATE TABLE forum (
  forumid int(11) NOT NULL default '0',
  forum varchar(100) NOT NULL default '',
  katid smallint(6) NOT NULL default '0',
  displayorder smallint(6) NOT NULL default '0',
  PRIMARY KEY  (forumid)
) TYPE=MyISAM;

Code:
Select kategorie.*, forum.* from kategorie LEFT JOIN forum ON kategorie.kategorieid = forum.katid
Hier klappt die Join-Abfrage ziemlich gut, jedoch bin ich mit dem Kapitel Joins noch nicht allzu gut vertraut, so dass ich noch mal Hilfe benötige.

Wie würden sich diese beiden Tabellen in eine zusammenfassen lassen? Damit meine ich, dass mySQL das gleiche Resultat zurückgibt ?

Ich denke, dass es mit folgendem Tabellenaufbau klappen sollte, jedoch bekomme ich hier leider die SQL-Anweisung nicht so zusammengestrickt, wie ich sie haben möchte.
Code:
#
# Table structure for table `forum`
#

CREATE TABLE forum (
  forumid int(11) NOT NULL default '0',
  forum varchar(100) NOT NULL default '',
  IsCategory tinyint(4) NOT NULL default '0',
  displayorder smallint(6) NOT NULL default '0',
  parentid smallint(6) NOT NULL default '0',
  PRIMARY KEY  (forumid)
) TYPE=MyISAM;

Würde mich sehr freuen, wenn mir jemand helfen könnte. :)

Gruß ArneE
 
Die Tabellen Kategorie und Forum sollen eine werden.

Einen vielleicht möglichen Tabellenaufbau habe ich ja schon skizziert:
Code:
#
# Table structure for table `forum`
#

CREATE TABLE forum (
  forumid int(11) NOT NULL default '0',
  forum varchar(100) NOT NULL default '',
  IsCategory tinyint(4) NOT NULL default '0',
  displayorder smallint(6) NOT NULL default '0',
  parentid smallint(6) NOT NULL default '0',
  PRIMARY KEY  (forumid)
) TYPE=MyISAM;
Jedoch brauche ich die gleiche SQL-Rückgabe wie als wenn ich die Tabellen jeweils einzelnen hätte.

Und genau die SQL-Anweisung suche ich, dir mir o.g. ermöglicht.

Gruß ArneE
 
Ich halte das nicht für eine gute Idee, denn wenn du später mal
Kategorien dynamisch generieren lassen willst etc. und der User
per Dropdown nur seine schon erstellten Kategorien auswählen
muss damit sie dem Forum, in Form einer ID, zugewiesen wird dann
müsstest du das ganze System umstellen. Verstehst du was ich meine?
 

Neue Beiträge

Zurück