在MySQL中执行关系代数除法SQL查询时出错

发布于 2024-12-27 22:54:30 字数 980 浏览 3 评论 0原文

我有 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`))

但它不起作用。它显示:错误代码:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'SELECT * FROMproductWHERE NOT EXIST 附近使用的正确语法 (SELECT * FROMprovider_has_p' at line 2`

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

I have 3 tables (provider, provider_has_product, product):
enter image description here

(Original here: http://content.screencast.com/users/Maksold/folders/Jing/media/4e6de435-eeac-4602-95e0-2a1b0b4876ad/2012-01-18_0851.png)

I tried division operation by this code:

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`))

But it dosn't work. It shows: 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 * FROM
productWHERE NOT EXIST
(SELECT * FROM
provider_has_p' at line 2`

How make division on MySQL and correct this error.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

骷髅 2025-01-03 22:54:30

检查是否有拼写错误。我很确定它是 EXISTS,而不是 EXIST

Check for a typo. I'm pretty sure it's EXISTS, not EXIST

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文