gpt4 book ai didi

Mysql 查询 - 连接、子查询、如果存在

转载 作者:行者123 更新时间:2023-11-29 19:02:09 26 4
gpt4 key购买 nike

我有 4 个表:Inventorystylesizesstyle_sizes

Inventory 包含列 user_idstylesize
Style 包含列:style_idstyle(样式名称)等
Sizes 包含列:size_idsize 等(sm、md、lg 等)
style_sizes 包含列:style_size_idstyle_idsize_id(这是列出所选样式可用的尺寸)

我需要列出“user_id = x”和“style = y”(不是 style_id)的所有库存,其中用户拥有尺寸并按size_id订购.

目前,它会显示该样式可用的所有尺寸,即使用户没有任何尺寸。

这是迄今为止的查询:

SELECT i.*, st.*, ss.* 
FROM inventory as i
JOIN style as st
ON i.style = st.style
JOIN style_sizes as ss
ON st.style_id = ss.style_id
WHERE i.user_id = $user_id AND i.style = :style

我已经很接近了,但我不知道接下来该去哪里。

最佳答案

您需要在联接中包含 size_id,以便您只能获取该用户的尺寸。

SELECT i.*, st.*, ss.* 
FROM inventory as i
JOIN style as st
ON i.style = st.style
JOIN style_sizes as ss
ON st.style_id = ss.style_id AND i.size_id = ss.size_id
WHERE i.user_id = :user_id AND i.style = :style

关于Mysql 查询 - 连接、子查询、如果存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43788383/

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