gpt4 book ai didi

php - 编写一条sql语句根据其他表中的列查询一个表?

转载 作者:行者123 更新时间:2023-11-29 07:13:58 25 4
gpt4 key购买 nike

我有 3 个表:picsfolderspics_by_folders

图片

 pic_ID | name | info

文件夹

folder_ID | name | info 

文件夹图片

folder_ID | pic_ID

我试图返回满足 x、y、z 要求的所有图片,但前提是它们包含在满足 j、k、l 要求的文件夹中。我希望我能以一种有意义的方式解释这一点。我目前的说法是:

SELECT * FROM pics WHERE 
pic_ID = 'x' AND
pics.name = 'y' AND
pics.info = 'Z'
JOIN pics_by_folder as pbf ON
pbf.pic_ID = pics.pic_ID
JOIN folders WHERE
folder_ID = 'j' AND
folders.name = 'k' AND
folders.info = 'l'
ON
folders.folder_ID = pbf.folder_ID

这不起作用,我认为它与语句的顺序有关,或者可能 sql 不允许 "JOIN x WHERE ..." 语句。无论哪种方式,任何帮助将不胜感激。

最佳答案

语法错误!!!.

SELECT 
*
FROM pics
JOIN pics_by_folder as pbf ON pbf.pic_ID = pics.pic_ID
JOIN folders ON folders.folder_ID = pbf.folder_ID
WHERE folder_ID = 'j' AND
folders.name LIKE 'k' AND
folders.info LIKE 'l' AND
pic_ID LIKE 'x' AND
pics.name LIKE 'y' AND
pics.info LIKE 'Z'

一些注释:

请始终指定您想要在结果集中包含哪些列。否则你会感到困惑,因为你不知道结果集中会有多少列。

folders.name LIKE 'k' 相当于 folders.name = 'k'

如果您想要精确匹配,请使用folders.name ='k',否则使用通配符运算符%,如下所示:folders.name LIKE '%k%'

关于php - 编写一条sql语句根据其他表中的列查询一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38639281/

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