1
我试图了解为什么下面的查询不起作用。如果一个字段是另一个表中某个字段的子字符串,从表中选择行
我的架构:
CREATE TABLE category
(`id` int, `category_name` varchar(55))
;
CREATE TABLE product
(`id` int, `name` varchar(55), `categories` varchar(50))
;
CREATE TABLE product_categories
(`id` int, `product` int, `category` int)
;
INSERT INTO category
(`id`, `category_name`)
VALUES
(1, 'Home'),
(2, 'Design')
;
INSERT INTO product
(`id`, `name`, `categories`)
VALUES
(1, 'Magazine', 'Home/Design/Interior'),
(2, 'Book', 'Internet/Technology')
;
查询:
SELECT
category.id
FROM category
JOIN product
ON product.categories LIKE CONCAT('%' + category.category_name + '%')
http://sqlfiddle.com/#!9/b3119/5
Doh ...我真的不应该这样做,当我这个累了。非常感谢。 – sboss 2015-03-24 21:57:30
如何将行插入product_categories表中,以获得每个匹配类别的产品?对于ID为1的产品,我希望产品= 1和类别= 1以及产品= 1和类别= 1的“product_categories”中有两行。 – sboss 2015-03-24 22:33:33
嗯......为什么这听起来像是一个新问题? :-) – 2015-03-24 22:48:28