我想做的是这样的:
SELECT *
FROM products as p, cat_index1 as c1, cat_index_2 as c2
WHERE p.pid = c1.cid OR p.pid = c2.cid
不是我期望它能工作,而是 EXPLAIN 产生以下错误:
Impossible WHERE noticed after reading const table...
我有一个产品列表和每个类别的表格,我想一次从多个类别中提取信息并将其与产品信息结合起来。表 products 中的产品可以属于两个类别、一个类别或两者都不属于。输出需要是 cat_index1 与 cat_index2 的并集,我想加入来自具有所述并集的产品的信息。
产品表很大,里面有很多信息,但是类别表是一个单独的列,只包含所述类别成员的产品 ID,当然,这些 ID 等于产品表中的 ID 列。当前没有设置外键。
有人有什么想法吗?
最佳答案
SELECT *
FROM products as p
inner join cat_index1 as c1 on (p.pid = c1.cid)
union
SELECT *
FROM products as p
inner join cat_index2 as c2 on (p.pid = c2.cid)
关于mysql - 将一个表中的信息加入到另外两个表的 UNION 中......这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7127092/