gpt4 book ai didi

mysql查询重复结果

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:19 24 4
gpt4 key购买 nike

我有这个问题。如果 Logo 为空或按钮为空或 vanitylogo 为空,我需要选择行。这似乎有效,但是,为同一个中间打印多行。如何解决这个问题?

SELECT fmm.mid,
fmm.name ,
fmn.mnname,
fmm.button,
fmm.logo,
fmm.vanitylogo
FROM X fmm ,
Y fmn
WHERE fmm.`button` = ''
OR fmm.`button` = 'NULL'
OR fmm.`button` = 'None'
OR fmm.`logo` = ''
OR fmm.`logo` = 'NULL'
OR fmm.`logo` = 'None'
OR fmm.`vanitylogo` = ''
OR fmm.`vanitylogo` = 'NULL'
OR fmm.`vanitylogo` IS NULL
AND fmm.mid=fmn.nid
AND fmm.status='active'
AND fmm.xyz_status='active'

最佳答案

您的查询有两个主要问题:

  1. 您没有正确括起您的OR条件
  2. 表之间没有连接条件,导致“交叉连接”

试试这个:

SELECT fmm.mid,
fmm.name ,
fmn.mnname,
fmm.button,
fmm.logo,
fmm.vanitylogo
FROM X fmm
JOIN Y fmn ON fmn.some_column = X.some_column -- FIX THIS
WHERE (fmm.`button` in ('', 'NULL', 'None')
OR fmm.`logo` IN ('', 'NULL', 'None')
OR fmm.`vanitylogo` IN ('', 'NULL')
OR fmm.`vanitylogo` IS NULL)
AND fmm.mid=fmn.nid
AND fmm.status='active'
AND fmm.xyz_status='active'

您必须在“FIX THIS”: 行中填写适当的列名

关于 OR,我将其中一些捆绑到 IN() 条件中,并用括号括起来。

关于mysql查询重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16646481/

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