首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复杂的查询-需要帮助!

复杂的查询-需要帮助!
EN

Stack Overflow用户
提问于 2009-12-13 01:43:24
回答 2查看 130关注 0票数 0

真希望有人能帮我这个忙!我有6张桌子:

产品

朴素

设备

朴素

设备类

设备级

设备类

分类

Equipfunctions

装备

分类

设备

装备

Workshopequipment

工作狂

装备

products -一些产品的列表

设备-一些设备的列表

Prodequipment -列出产品所需的设备。您可以使用设备中列出的设备,也可以用设备中的设备替换它。表产品与表设备有一对多的关系,即您将使用许多不同的工具(设备)来生产一种产品,但是您可以选择在这对设备/设备中使用任何人。例如,你可以用木框或塑料框架(一副)和盖板玻璃或盖板塑料(第二副)来给一张照片加框。你可以随意组合,但这两对都应该使用:木制框架与盖板玻璃或塑料框架与盖板玻璃或木制框架与塑料盖或塑料框架与塑料盖子。

EquipfunctionsEquipclasses --因为一件设备可以以不同的方式使用,它不直接与表设备相连。我创建了表Equipclasses,其中列出了每种可能的设备的所有单一用途,以及表Equipfunction,其中我列出了每种设备的单一用途。

Workshopequipment -列出他们正在使用的车间和设备。

现在,我需要一个产品清单,这些产品可以由两个不同的给定车间生产(假设workshop=1和workshop= 4),也就是说,这两个车间都有生产这些产品所需的所有设备。请记住,这些工作跳并不需要像我前面描述的那样使用相同的设备。

我正在尝试这个查询:

代码语言:javascript
复制
SELECT prodid FROM Products JOIN (
    SELECT workshopid, prodlist, equipclassmain, equipclassor, 
        if( LOCATE( equipclassmain, prodlist ) >0 
            AND LOCATE( equipclassor, prodlist ) >0, 1, 0 ) AS pairstatus FROM Prodequipment JOIN
    (
        SELECT classid FROM Equipclasses JOIN (
            SELECT classid FROM Equipfunctions JOIN (
                SELECT workshopid, GROUP_CONCAT( equipid ) AS prodlist FROM Workshopequipment 
                    GROUP BY workshopid
            ) 
            equipfunclist GROUP BY equipid 
        ) equipclasslist GROUP BY classid
    ) WorkshopequipmentList HAVING pairstatus = 1 AND workshopid in (1, 4)
) prodbyworkshops ON classid = equipclassmain OR classid = equipclassor

但我得到一个“列分类在字段列表是模棱两可的”。知道这是怎么回事吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2009-12-13 01:48:28

查询引用具有classid列的多个表。

因此,当您在HAVING子句中引用HAVING时,它不知道要为哪个表获取classid

您需要编写tablename.classid,其中tablename是包含classid列的表的名称。(可能是equipclasslist;我没有查看查询)

票数 8
EN

Stack Overflow用户

发布于 2009-12-13 01:51:32

它来自查询的部分:

代码语言:javascript
复制
...
SELECT classid 
FROM Equipclasses JOIN (
    SELECT classid
    FROM Equipfunctions...

EquipClasses和内部查询都有一个classId。您需要指定要选择的是哪一个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1895315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档