gpt4 book ai didi

php - SQL View 中的唯一列

转载 作者:行者123 更新时间:2023-11-30 22:48:58 24 4
gpt4 key购买 nike

在我的数据库中,我有一个表包含完整的产品列表,另一个表在 x 轴上包含相同的产品列表,在 y 轴上包含客户列表,其中每个产品的值product 可以是 1 或 0,具体取决于该客户是否可以查看该产品。我的 SQL 看起来像这样:

SELECT products.product_code, products.product_type, products.product_category, products.product_title, products.product_description
FROM product_lists
INNER JOIN products
ON product_lists.product_code=products.product_code
WHERE product_lists.customer="1"
ORDER BY products.product_code

我的问题是我想为每个客户创建此结果的 View 以用作该客户产品表,但是当我创建它时我收到消息“此表不包含唯一列。网格编辑,复选框、编辑、复制和删除功能不可用。”即使 product_code 字段在 products 表和 product_lists 表中都设置为主键。

如何创建一个连接/ View ,该连接/ View 使用创建它的表中的主键?简而言之,我希望 product_code 字段成为我 View 的主键。

谢谢!

最佳答案

我认为问题出在 join 上。您可以通过将条件移动到 where 子句来解决此问题。 MySQL 不允许在 from 中使用子查询,但它在 where 中允许:

SELECT p.product_code, p.product_type, p.product_category, p.product_title, p.product_description
FROM products p
WHERE EXISTS (SELECT 1
FROM product_lists pl
WHERE pl.product_code = p.product_code AND
pl.customer = 1
)
ORDER BY p.product_code;

关于php - SQL View 中的唯一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28718423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com