gpt4 book ai didi

php - SQL 查询多个 AND 和 OR 不工作

转载 作者:可可西里 更新时间:2023-11-01 07:46:02 24 4
gpt4 key购买 nike

我有一个单元格,其中包含由双竖线分隔的值。我正在尝试使用以下内容搜索此单元格的内容(其中 10 是要搜索的数字)%10、10%、%10% 和 10

我的查询似乎只返回 10。没有其他变体。有人可以告诉我为什么它不起作用吗?

非常感谢。 (您在下面看到的 SQL 查询是从准备好的 PDO 查询语句中导出的)

SELECT  `Hat`.`id` AS  `Hat_id` ,  `Hat`.`hatCode` AS  `Hat_hatCode` ,  `Hat`.`hatCodeOther` AS  `Hat_hatCodeOther` ,  `Hat`.`name` AS  `Hat_name` ,  `Hat`.`description` AS  `Hat_description` , `Hat`.`colorId` AS  `Hat_colorId` ,  `Hat`.`collectionId` AS  `Hat_collectionId` ,  `Hat`.`mainPicture` AS  `Hat_mainPicture` ,  `Hat`.`subPicture` AS  `Hat_subPicture` ,  `Hat`.`type` AS  `Hat_type` , `Hat`.`featured` AS  `Hat_featured` ,  `Hat`.`published` AS  `Hat_published` ,  `Hat`.`deleted` AS  `Hat_deleted` 
FROM `modx_hats` AS `Hat`
WHERE (
(
`Hat`.`published` =1
AND `Hat`.`collectionId` = '1'
)
AND `Hat`.`colorId` = '%||10||%'
OR `Hat`.`colorId` = '10||%'
OR `Hat`.`colorId` = '%||10'
OR `Hat`.`colorId` = '10'
)
LIMIT 0 , 30

最佳答案

我认为你应该使用 LIKE 而不是 =:

AND  `Hat`.`colorId` LIKE '%||10||%'
OR `Hat`.`colorId` LIKE '10||%'
OR `Hat`.`colorId` LIKE '%||10'
OR `Hat`.`colorId` = '10'

关于php - SQL 查询多个 AND 和 OR 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21096134/

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