ma ne frage ich hab eine tabelle:
jetzt möcht ich aus der tabelle alle datensätze haben die eine key_id von 14 aber nicht von 13 haben also im falle oben nur img_id 321004. igendiwie tue ich mir am ansatz schwer weil logischer weise ein query wie key_id = 14 AND key_id != 13 ja quatsch is. meine idee war so was in die richtung:
da stürzt mir immer der server ab mit anderen worten ich hab mich verlafen - was ist der beste ansatz ein tip würde helfen ...
danke
f*
Code:
CREATE TABLE `keyword_matches` ( `img_id` mediumint(6) unsigned NOT NULL default '0', `key_id` mediumint(7) unsigned NOT NULL default '0', KEY `img_id` (`img_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `keyword_matches` (`img_id`, `key_id`) VALUES (321003, 14), (321003, 6), (321003, 13), (321003, 4), (321004, 7), (321004, 6), (321004, 14), (321004, 4); .....
jetzt möcht ich aus der tabelle alle datensätze haben die eine key_id von 14 aber nicht von 13 haben also im falle oben nur img_id 321004. igendiwie tue ich mir am ansatz schwer weil logischer weise ein query wie key_id = 14 AND key_id != 13 ja quatsch is. meine idee war so was in die richtung:
Code:
Select DISTINCT * FROM keyword_matches AS tbl1 INNER JOIN (SELECT * FROM `keyword_matches` where key_id != 13) AS tbl2 USING(key_id) WHERE tbl1.key_id = 14
danke
f*
Kommentar