Hi, also ich habe eine Datenbank, die wie folgt aussieht:
CREATE TABLE IF NOT EXISTS `0815` (
`id` int(11) NOT NULL,
`zID` int(10) unsigned NOT NULL,
`Name` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Daten:
INSERT INTO `0815` (`id`, `zID`, `Name`) VALUES
(1, 123, 'Test'),
(2, 123, 'Blub'),
(3, 123, 'Keine Ahnung'),
(4, 436, 'UserBlub'),
(5, 436, 'Random Scheiß'),
(6, 436, 'YX Scheiß ZP'),
(7, 436, 'Weis ich nicht');
Nun möchte ich eine Suche machen welche nach einem Namen sucht und alle einträge die die gleiche zID haben mit auflistet. Habs auch so mehr oder weniger hin bekommen:
SELECT T1.zID,T2.Name FROM `0815` AS T1
LEFT JOIN `0815` AS T2 ON T2.zID = T1.zID
WHERE T1.Name LIKE '%Blub%'
An sich geht es, an sich stimmt die auflistung nun:
zID Name
123 Test
123 Blub
123 Keine Ahnung
436 UserBlub
436 Random Scheiß
436 YX Scheiß ZP
436 Weis ich nicht
Wenn ich ab nun nach "scheiß" suchen lassen dann (was auch logisch ist) listet er die zID 2 mal mit allen dazugehöriegen einträgen auf. Jemand eine
Idee das design oder die abfrage zu verbessern ?