列出订购Apple Laptop的客户名称(选择您自己的加入类型)。我有客户,订单,订购和产品。我一直收到这个错误
1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 在''product'附近,其中product_name ='Apple Laptop')))LIMIT 0,25'at 第4行
select customer.cust_name
from customer
where customer.cust_id in (
select cust_id
from ordertable
where order_id in (
select order_id
from orderline
where product in (
select product_id
from 'product'
where product_name = 'Apple Laptop'
)
)
)
答案 0 :(得分:1)
从最后一个select语句中的'product'中删除引号。它是表的名称,因此不需要引用。
答案 1 :(得分:0)
如果没有看到您的架构,这有点挑战性,但在您从'product'
删除引号后,错误就是外部子句中没有列product
。我们可以推断您在最深的子查询中选择product_id
,因此外部where子句可能需要使用product_id
而不是product
。
select customer.cust_name
from customer
where customer.cust_id in (
select cust_id
from ordertable
where order_id in (
select order_id
from orderline
where product_id in ( -- <-- ERROR HERE
select product_id
from product
where product_name = 'Apple Laptop'
)
)
)