Hallo zusammen,
ich sitze jetzt seit 18 Uhr dran und mag langsam nicht mehr.
So ist es, das sind besagte zwei Tabellen:
Jetzt versuche ich gerade mit folgendem SQL-Statement, eine Abfrage die mir das danach folgende liefert:
Liefern soll es folgendes:
Wie oben gesehen suche ich in zwei tabellen (ls_questions,ls_answers) nach zwei feldern (subject,message), das problem ist, wenn ich eine question habe und eine dazugehörige answer kriege ich einen schönen satz. wenn aber eine question da ist OHNE answer, werden die "answer-felder" mit NULL aufgefüllt, jedoch wird der satz nicht zurückgegeben. Es sollen aber auch die Questions OHNE answer geliefert werden.
Kann jemand helfen?
Weiß jemand Rat?
Ps: Das Handbuch hilf einem auch nicht wirklich, match agains (klappt nicht mit der volltextsuche oder wäre das so viel performanter? einfacher zu realisieren in php?)
ufff.
nacht...
thnx[/code]
ich sitze jetzt seit 18 Uhr dran und mag langsam nicht mehr.
So ist es, das sind besagte zwei Tabellen:
Code:
CREATE TABLE `ls_answers` ( `aid` int(20) NOT NULL auto_increment, `qid` int(20) NOT NULL, `uid` int(20) NOT NULL, `subject` varchar(255) NOT NULL, `message` text NOT NULL, `date` datetime NOT NULL, `rating` float NOT NULL, PRIMARY KEY (`aid`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
Code:
-- -- Daten für Tabelle `ls_answers` -- INSERT INTO `ls_answers` (`aid`, `qid`, `uid`, `subject`, `message`, `date`, `rating`) VALUES (1, 1, 38, 'subject1', 'Your message', '0000-00-00 00:00:00', 0); -- --------------------------------------------------------
Code:
-- -- Tabellenstruktur für Tabelle `ls_questions` -- CREATE TABLE `ls_questions` ( `qid` int(20) NOT NULL auto_increment, `uid` int(20) NOT NULL, `category` int(20) NOT NULL, `subject` varchar(255) NOT NULL, `message` text NOT NULL, `date` datetime NOT NULL, `rating` float NOT NULL, PRIMARY KEY (`qid`) ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
Code:
-- -- Daten für Tabelle `ls_questions` --
Code:
INSERT INTO `ls_questions` (`qid`, `uid`, `category`, `subject`, `message`, `date`, `rating`) VALUES (1, 38, 0, 'fff', 'Your message. Max. 1000 Chars', '2007-11-21 17:34:00', 0), (2, 38, 0, 'my topic', 'your message. my question', '2007-11-21 20:36:20', 0);
Code:
select * from ls_questions left join ls_answers on(ls_questions.qid=ls_answers.qid) where (ls_questions.message like '%your%' or ls_answers.message like '%your%')
Wie oben gesehen suche ich in zwei tabellen (ls_questions,ls_answers) nach zwei feldern (subject,message), das problem ist, wenn ich eine question habe und eine dazugehörige answer kriege ich einen schönen satz. wenn aber eine question da ist OHNE answer, werden die "answer-felder" mit NULL aufgefüllt, jedoch wird der satz nicht zurückgegeben. Es sollen aber auch die Questions OHNE answer geliefert werden.
Kann jemand helfen?
Weiß jemand Rat?
Ps: Das Handbuch hilf einem auch nicht wirklich, match agains (klappt nicht mit der volltextsuche oder wäre das so viel performanter? einfacher zu realisieren in php?)
ufff.
nacht...
thnx[/code]

Kommentar