MySQL交叉引用的不同值组合

时间:2015-02-16 00:38:58

标签: mysql sql

我一直在努力寻找一种以某种方式查询数据的有效方法。我的数据库是一个简单的MySQL关闭外部Web服务器我没有完全访问权限,它可以通过Web浏览器访问。我尝试过的任何查询都涉及非常大的查询结果。

一般表格布局:

Product

{ID, Name}表(它有更多列,但对于我需要的查询,它们不相关)

Types

{ID, Name}表 列Crossreference

{ProductID, TypeID}表(1个产品可以有多种类型,1种类型可以有很多产品)

需要查询结果:

ProductName1, 
ProductName2, 
ProductName3, 
group_concat(TypeName), 
Count(TypeName)
with COUNT(TypeName) > 1

typename包含相同类型的产品名称,每个产品之间有两种或更多匹配类型。因此group_concat(typename)将包含

之间的匹配
  • productname1 productname2
  • 之间的不同匹配 productname1 productname3
  • productname2 与productname3
  • 之间的不同匹配
  • 可能是 productname1 productname2 productname3 之间的匹配,包含4种不同的类型。

最后输出的产品值为'a','b'和'c',没有'b','c','a'或'c'的额外输出,'b ','a'等等。

我有更好的结果,只有2个产品列输出到临时表,然后删除重复项,但我似乎无法使3列有效,或者甚至有效收集数据只是单个查询,没有临时表。

0 个答案:

没有答案