gpt4 book ai didi

sql - MySQL属性数据库

转载 作者:行者123 更新时间:2023-11-29 02:36:05 27 4
gpt4 key购买 nike

我有一个属性数据库。每个属性值都存储在一个表中,表中包含其父属性的 ID。

在一个独立的表中,我会编写一个可以提取数据的 SQL 语句

WHERE username = '' AND domain = ''  

在属性表中,因为每个值都存储为单独的行,所以我不能这样做。我有一个连接允许我带回一个值 + 结果(见下文),但是我需要一个基于2 个标准如上所示..

SELECT upa.value, up.status, u.status
FROM user_product up, product_attribute pa, product p, user u, user_product_attribute upa

WHERE pa.attribute_name = 'username'
AND pa.product_attribute_id = upa.product_attribute_id
AND pa.product_id = p.product_id
AND u.user_id = up.user_id
AND up.user_product_id = upa.user_product_id

AND p.product_name = 'email'
AND upa.value = 'exampleuser'

我想我需要在某种工会中再次加入上述能力?任何输入都会有所帮助..

谢谢

最佳答案

请不要使用隐式连接语法。需要第二组连接才能获得第二个属性。

SELECT upa1.value, upa2.value, up1.status, u1.status 
FROM product p
/* These joins get attribute/value for 'username' attribute */
INNER JOIN product_attribute pa1
ON p.product_id = pa1.product_id
AND pa1.attribute_name = 'username'
INNER JOIN user_product_attribute upa1
ON pa1.product_attribute_id = upa1.product_attribute_id
INNER JOIN user_product up1
ON upa1.user_product_id = up1.user_product_id
INNER JOIN user u1
ON up1.user_id = u1.user_id
/* These joins get attribute/value for 'domain' attribute */
INNER JOIN user_product_attribute upa2
ON upa1.user_product_id = upa2.user_product_id
INNER JOIN product_attribute pa2
ON upa2.product_attribute_id = pa2.product_attribute_id
AND pa2.attribute_name = 'domain'
WHERE p.product_name = 'email'

关于sql - MySQL属性数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4934300/

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