我有以下mysql结构:
`product`
id | name | quantity | unit
10 | Color bath | 12 | L
20 | Color house | 15 | L
`product_variant`
id | masterid | name | quantity | unit
100 | 10 | Color bath | 10 | L
200 | 10 | Color bath | 20 | L
300 | 20 | Color house | 20 | L
我们的查询应该返回:
向我提供所有产品并向我提供此产品的所有产品变数,并返回每个产品/ product_variant一行:
product.id as masterid, product.id/product_variant.id, product.name, product.quantity/product_variant.quantity, product.unit/product_variant.unit
10, 10, Color bath, 12, L
10, 100, Color bath, 10, L
10, 200, Color bath, 20, L
20, 20, Color house, 15, L
20, 300, Color house, 20, L
我们尝试使用UNION SELECT,但这似乎不是正确的解决方案。 10.000行(使用索引)最多需要2秒。 如果不使用UNION,还有其他机会获得我们需要的东西吗?
答案 0 :(得分:0)
我不是因为你需要加入两个表格UNION
和product
而不是product_variant
而你想要做的事情是什么,当你加入它们时你会得到(如你的例子中)product.id = 10
的两行不多也不少,而你期待3。