I have a product_table
with a product_id
among several other fields.
I am creating a tag_table
with 2 fields, tag_id
and tag_name
.
The tags could be anything like "silver" or "penn state" etc.
I am also creating a product_tag_map
table with product_id
and tag_id
in order to map a product to any number of tags.
If I wanted to create a category that contained all products tagged as "silver", "necklace", "diamond". But also exclude any product tagged as "initial", "journey"
(Obviously I would use the tag_id not tag_name, so products with tags [2,4,5] that do not have tags [3,6])
How could a create a temporary product table and populate it with the matching products?
update
here is my product_tag_map table:
CREATE TABLE `product_tag_map` (
`product_tag_map_id` int(11) NOT NULL auto_increment,
`tag_id` int(11) NOT NULL,
`product_id` int(11) NOT NULL,
PRIMARY KEY (`product_tag_map_id`),
UNIQUE KEY `tag_id` (`tag_id`,`product_id`),
KEY `tag_id_2` (`tag_id`)
) ENGINE=MyISAM AUTO_INCREMENT=7897 DEFAULT CHARSET=utf8
Note: I am not using product_tag_map_id
for anything. I am just in the habit of giving each table a primary key like so. So If I should remove it thats fine.