phpbar.de logo

Mailinglisten-Archive

Komplexes Problem
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Komplexes Problem



Hi,

ích hab ein komplexes Problem.

Ich bekomme auf ein Query zuviele Datensätze angezeigt (großteils
mehrfach), davon dürften einige auch nicht dabei sein.
Das Query ist sehr komplex (verwendet z.B. mehrfach IF() und einmal CONCAT()).

Wenn ich ein DISTINCT verwende, um wenigstens die doppelten Einträge
herauszubekommen, stürzt der MySQLd ab:

Plattform:	Win98 SE (bisher keine Probleme gehabt)
MySQL-Server:	3.21.29a-gamma-debug (win32)
MySQL-Client:	C:\MYSQL\BIN\MYSQL.EXE  Ver 9.13 Distrib 3.21.29a-gamma, for
Win95 (i586)

Windows-Fehlermeldung:
Mysqld
Diese Anwendung wird aufgrund eines ungültigen ... blablabla

MYSQLD verursachte einen Teilungsfehler in Modul MYSQLD.EXE bei 017f:0048aaa5.
Register:
...
...

zu den angehängten Dateien:
test.dump	Dump der Datenbank (mit Dummy-Daten)
test.sql	Query welches Probleme macht
test.out	Ausgabe des Querys von test.sql
should.out	Gewünschte Ausgabe

Ich hoffe mir kann jemand helfen. Das Query könnte ich nartürlich auch
aufsplitten, allerdings würden dann bei großen Datenbeständen 100-te von
Querys laufen müssen, was nicht allzu effizient ist...

Bye & Thanks
  Dante
SELECT DISTINCT IF(knowledge_database_links.typ = 'E', knowledge_database_externe_links.link, CONCAT('knowledge_database.php?aktion=anzeige&id=', knowledge_database.id)) AS link, IF(knowledge_database_links.typ = 'E', knowledge_database_externe_links.beschreibung, knowledge_database.beschreibung) AS beschreibung, IF(knowledge_database_links.typ = 'E', knowledge_database_externe_links.typ_id, knowledge_database.typ_id) AS typ_id, IF(knowledge_database_links.typ = 'E', knowledge_database_externe_links.extern_erreichbar, 'Y') AS extern_erreichbar
  FROM knowledge_database, knowledge_database_links, knowledge_database_externe_links
    WHERE knowledge_database_links.obj_id = 1
      AND knowledge_database_links.obj_id = knowledge_database.id
        OR knowledge_database_links.obj_id = knowledge_database_externe_links.id;
link    					beschreibung    	typ_id  extern_erreichbar
knowledge_database.php?aktion=anzeige&id=2      Read-Only Memory        0	Y
knowledge_database.php?aktion=anzeige&id=3      Error Correction Code   0	Y
http://www.ram.de       			Homepage des RAMs       9       Y
v:\\alle\\tf\\projekte\\Linux-WinNT.ppt 	Linux und Windows-NT    6       N
link    					beschreibung    	typ_id  extern_erreichbar
knowledge_database.php?aktion=anzeige&id=1      Random Access Memory    8	Y
knowledge_database.php?aktion=anzeige&id=2      Read-Only Memory        0	Y
knowledge_database.php?aktion=anzeige&id=3      Error Correction Code   0	Y
knowledge_database.php?aktion=anzeige&id=4              		0       Y
knowledge_database.php?aktion=anzeige&id=5              		0       Y
knowledge_database.php?aktion=anzeige&id=6              		0       Y
knowledge_database.php?aktion=anzeige&id=1      Random Access Memory    8	Y
knowledge_database.php?aktion=anzeige&id=2      Read-Only Memory        0	Y
knowledge_database.php?aktion=anzeige&id=3      Error Correction Code   0	Y
knowledge_database.php?aktion=anzeige&id=4              		0       Y
knowledge_database.php?aktion=anzeige&id=5              		0       Y
knowledge_database.php?aktion=anzeige&id=6              		0       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
http://www.ram.de       			Homepage des RAMs       9       Y
knowledge_database.php?aktion=anzeige&id=1      Random Access Memory    8	Y
knowledge_database.php?aktion=anzeige&id=1      Random Access Memory    8	Y
v:\\alle\\tf\\projekte\\Linux-WinNT.ppt 	Linux und Windows-NT    6       N
v:\\alle\\tf\\projekte\\Linux-WinNT.ppt 	Linux und Windows-NT    6       N
# MySQL dump 4.0
#
# Host: localhost    Database: kob
#--------------------------------------------------------

#
# Table structure for table 'knowledge_database'
#
CREATE TABLE knowledge_database (
  id int(11) DEFAULT '0' NOT NULL auto_increment,
  begriff varchar(255) DEFAULT '' NOT NULL,
  datum date DEFAULT '0000-00-00' NOT NULL,
  beschreibung varchar(255) DEFAULT '' NOT NULL,
  erklaerung text DEFAULT '' NOT NULL,
  typ_id int(11) DEFAULT '0' NOT NULL,
  PRIMARY KEY (id)
);

#
# Dumping data for table 'knowledge_database'
#

INSERT INTO knowledge_database VALUES (1,'RAM','0000-00-00','Random Access Memory','Random Access Memory',8);
INSERT INTO knowledge_database VALUES (2,'ROM','0000-00-00','Read-Only Memory','Read-Only Memory',0);
INSERT INTO knowledge_database VALUES (3,'ECC','0000-00-00','Error Correction Code','Error Correction Code\n\nIst im Gegensatz zu Parity eine Methode um Fehler zu erkennen und zu <u>beseitigen</u>.\nNur das das mal gesagt wurde ;).',0);
INSERT INTO knowledge_database VALUES (4,'ABC','0000-00-00','','ABC',0);
INSERT INTO knowledge_database VALUES (5,'DEF','0000-00-00','','DEF',0);
INSERT INTO knowledge_database VALUES (6,'GHI','0000-00-00','','GHI',0);

#
# Table structure for table 'knowledge_database_externe_links'
#
CREATE TABLE knowledge_database_externe_links (
  id int(11) DEFAULT '0' NOT NULL auto_increment,
  link varchar(255) DEFAULT '' NOT NULL,
  beschreibung text DEFAULT '' NOT NULL,
  extern_erreichbar enum('Y','N') DEFAULT 'N' NOT NULL,
  typ_id int(11) DEFAULT '0' NOT NULL,
  PRIMARY KEY (id)
);

#
# Dumping data for table 'knowledge_database_externe_links'
#

INSERT INTO knowledge_database_externe_links VALUES (1,'http://www.ram.de','Homepage des RAMs','Y',9);
INSERT INTO knowledge_database_externe_links VALUES (2,'v:\\alle\\tf\\projekte\\Linux-WinNT.ppt','Linux und Windows-NT','N',6);

#
# Table structure for table 'knowledge_database_links'
#
CREATE TABLE knowledge_database_links (
  obj_id int(11) DEFAULT '0' NOT NULL,
  link_id int(11) DEFAULT '0' NOT NULL,
  typ enum('E','I') DEFAULT 'E' NOT NULL,
  PRIMARY KEY (link_id,obj_id,typ)
);

#
# Dumping data for table 'knowledge_database_links'
#

INSERT INTO knowledge_database_links VALUES (1,3,'I');
INSERT INTO knowledge_database_links VALUES (1,2,'I');
INSERT INTO knowledge_database_links VALUES (1,1,'E');
INSERT INTO knowledge_database_links VALUES (1,2,'E');

#
# Table structure for table 'knowledge_database_typen'
#
CREATE TABLE knowledge_database_typen (
  id int(11) DEFAULT '0' NOT NULL auto_increment,
  typ varchar(10) DEFAULT '' NOT NULL,
  icon varchar(50) DEFAULT '' NOT NULL,
  PRIMARY KEY (id)
);

#
# Dumping data for table 'knowledge_database_typen'
#

INSERT INTO knowledge_database_typen VALUES (1,'Ordner/Ver','ordner');
INSERT INTO knowledge_database_typen VALUES (2,'Text-Datei','text');
INSERT INTO knowledge_database_typen VALUES (3,'Word-Dokum','word');
INSERT INTO knowledge_database_typen VALUES (4,'Excel-Tabe','excel');
INSERT INTO knowledge_database_typen VALUES (5,'Access-Dat','access');
INSERT INTO knowledge_database_typen VALUES (6,'PowerPoint','powerpoint');
INSERT INTO knowledge_database_typen VALUES (7,'Netzwerk','netzwerk');
INSERT INTO knowledge_database_typen VALUES (8,'PC-Kompone','pc');
INSERT INTO knowledge_database_typen VALUES (9,'Web-Seite','www');



Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive