【问题标题】:Error when execute SQL query for relation algebra division in MySQL在 MySQL 中对关系代数除法执行 SQL 查询时出错
【发布时间】:2012-01-18 07:01:35
【问题描述】:

我有 3 个表(provider、provider_has_product、product):

(此处原文:http://content.screencast.com/users/Maksold/folders/Jing/media/4e6de435-eeac-4602-95e0-2a1b0b4876ad/2012-01-18_0851.png

我尝试通过这段代码进行除法运算:

SELECT DISTINCT `provider_has_product`.`provider_id` FROM `provider_has_product` WHERE NOT EXIST
 (SELECT * FROM `product` WHERE NOT EXIST
  (SELECT * FROM `provider_has_product` A1 WHERE 
     A1.`provider_id` = `provider_has_product`.`provider_id` AND
     A1.`product_id` = `product`.`id`))

但它不起作用。它显示:Error Code: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROMproductWHERE NOT EXIST (SELECT * FROMprovider_has_p' 在第 2 行`

如何在 MySQL 上进行除法并纠正这个错误。

【问题讨论】:

  • 我的“除法”概念是乘法的逆运算,例如“10/3 = 3.333”:-?
  • @ÁlvaroG.Vicario:除法是 Codd 最初的运算符之一。见here
  • 糟糕...我没学过的东西。感谢您的提示,@onedaywhen

标签: mysql sql relational-algebra


【解决方案1】:

检查是否有错字。我很确定是EXISTS,而不是EXIST

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-07
    • 2012-11-04
    • 1970-01-01
    • 2017-07-11
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多