ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
175
175
EMPFEHLEN
-
Hi,
Ich habe eine Simple DB-Strucktur.
Nun wollte ich eine abfrage machen welche user alles noch die nachricht X bekommen sollen.PHP-Code:CREATE TABLE IF NOT EXISTS `m_msg` (
`num` smallint(3) unsigned NOT NULL auto_increment,
`msg` varchar(255) NOT NULL,
PRIMARY KEY (`num`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
CREATE TABLE IF NOT EXISTS `m_msg_log` (
`userid` int(3) unsigned NOT NULL,
`msgList` varchar(255) NOT NULL,
PRIMARY KEY (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `m_user` (
`id` int(3) unsigned NOT NULL auto_increment,
`name` varchar(24) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
INSERT INTO `m_msg` (`num`, `msg`) VALUES (1, 'Hallo, Nachricht 1'), (2, 'Hallo, Nachricht 2');
INSERT INTO `m_msg_log` (`userid`, `msgList`) VALUES (1, '1'),(2, '2'),(3, '1,2');
INSERT INTO `m_user` (`id`, `name`) VALUES (1, 'Test A'), (2, 'Test B'), (3, 'Test C'), (4, 'Test D'), (5, 'Test E'),(6, 'Test F');
SELECT T1.id,T1.name,T2.msgList FROM m_user AS T1
LEFT JOIN m_msg_log AS T2 ON T2.userid=T1.id
WHERE IFNULL(2 NOT IN (T2.msgList),1)
ORDER BY T1.id
Die 2 bei IFNULL(2 NOT IN (T2.msgList),1) ist nee Variable die übergeben wird. Normaler weise soll er prüfen ob 2 in 2,1 .. 1 ... 2 ist.
Nehme ich anstelle von 2 mal die 1 so werden die user richtiger weise weggelassen die 1 oder 1, zu stehen haben.
Jedoch sobald ich eine zahl auschließen will die nach dem 1, kommt geht es nicht mehr.
Irgendwie behandelt er msgList nicht als "liste". Einer nee idee was falsch sein könnte ?
-
HI,
könnten in Deiner Liste evtl. NULL werte drinnen stehen?
Ach ich sehe gerade, nein da stehen ja werte drinnen...
Also in einem Feld in der Spalte msgList , steht aber der Wert "1,2" den kann er nicht finden, glaube ich, da das ja ein String ist.
Du möchtest also alle Felder weglassen in denen in der Spalte T2.msgList eine "2" steht, ja ?
GrüßeGeändert von planb2000 (19.11.08 um 22:23 Uhr)
-
Ja.
Aber in dem feld soll er halt alle nummern speichern die der user schon bekommen hat.
Ähnliche Themen
-
MySQL Feld A nach Feld B kopieren
Von julia29 im Forum Relationale DatenbanksystemeAntworten: 9Letzter Beitrag: 19.01.11, 20:41 -
Feld in MySQL DB verschlüsseln
Von musmus im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 14.03.07, 23:31 -
PHP/MYSQL Feld Type
Von KICK im Forum PHPAntworten: 3Letzter Beitrag: 31.01.06, 16:55 -
[PHP-mySQL] Feld incrementieren?
Von Neok im Forum PHPAntworten: 2Letzter Beitrag: 29.11.05, 20:45 -
MySQL Feld in Word
Von kesnw im Forum PHPAntworten: 3Letzter Beitrag: 19.04.04, 15:43





Zitieren
Login





