我不知道我是否过于复杂的事情或什么,但我的SQL代码给出错误。我试图找到所有匹配表格部件的'pid'。嵌套SQL语句出错。三个表选择
以下是必要的信息。
表:Parts
:
pid, Color
表:Supplier
sid
表:Catalog
pid, sid
我试图检索具有颜色红色和供应商即pid
存在于01表Supplier
的。
这是我迄今为止尝试:
SELECT pid
FROM catalog
WHERE sid = (SELECT sid
FROM 'suppliers'
WHERE sid=)(SELECT sid
FROM `catalog`
WHERE pid=)(SELECT pid
FROM `parts`
WHERE color = 'Red')
我的第二尝试说错误,子查询返回多个1行:
SELECT pid FROM catalog c where c.pid=(SELECT pid from parts p where p.color='Red') AND c.sid=(SELECT sid FROM suppliers s)
一种奇怪的方式来做到这一点,但如果您从表名(在FROMs后面)拉出单引号,仍然可能工作。某种JOIN解决方案在这里是标准的。 – VBlades