我一直在努力寻找一种以某种方式查询数据的有效方法。我的数据库是一个简单的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)
将包含
最后输出的产品值为'a','b'和'c',没有'b','c','a'或'c'的额外输出,'b ','a'等等。
我有更好的结果,只有2个产品列输出到临时表,然后删除重复项,但我似乎无法使3列有效,或者甚至有效收集数据只是单个查询,没有临时表。