MySQL-使用LIKE和null进行选择
我需要通知一份客户名单和他们的代理人 但许多客户没有经纪人。(adm将插入数据) 然后我选择重新运行:MySQL-使用LIKE和null进行选择,mysql,null,asp-classic,sql-like,Mysql,Null,Asp Classic,Sql Like,我需要通知一份客户名单和他们的代理人 但许多客户没有经纪人。(adm将插入数据) 然后我选择重新运行: ============= CLIENT - AGENT ABC INC - MARK DEF INC - MARK GHI INC - JOHN YXZ INC - NULL --------------- ADM有一个“搜索”引擎,只为某些代理选择客户端 我的选择是: SELECT CLIENTS.ID AS CLIENT, CLIENTS.NAME AS NAME, AGENTS.N
=============
CLIENT - AGENT
ABC INC - MARK
DEF INC - MARK
GHI INC - JOHN
YXZ INC - NULL
---------------
ADM有一个“搜索”引擎,只为某些代理选择客户端
我的选择是:
SELECT
CLIENTS.ID AS CLIENT, CLIENTS.NAME AS NAME, AGENTS.NAME AS AGENT FROM CLIENTS
LEFT JOIN AGENTS ON AGENTS.CLIENTID = CLIENTS.ID
WHERE CLIENTS.NAME LIKE '%"&CLIENTNAME&"%' AND AGENTS.NAME LIKE '%"&AGENTNAME&"%'"
当我使用LIKE%%时,他们会带来所有代理。
当我使用%MARK%时,他们会将所有代理都带上MARK
但是。。比如%%我没有“空”代理
我也需要这些信息
有没有想到要带空的
我正在使用经典ASP。您需要添加以下内容:
…其中IFNULL(CLIENTS.NAME“”)如“%”…
在括号内添加一个附加子句以包含null:
... AND (AGENTS.NAME LIKE '%"&AGENTNAME&"%' OR AGENTS.NAME IS NULL)"
您必须按如下方式修改查询:
SELECT
CLIENTS.ID AS CLIENT, CLIENTS.NAME AS NAME, AGENTS.NAME AS AGENT FROM CLIENTS
LEFT JOIN AGENTS ON AGENTS.CLIENTID = CLIENTS.ID
WHERE CLIENTS.NAME LIKE '%"&CLIENTNAME&"%' AND (AGENTS.NAME LIKE '%"&AGENTNAME&"%'" OR AGENTS.NAME IS NULL)
只需跳过“%”之类的条件即可。hi@md khairul hasan tks非常感谢您的时间和帮助!我会尝试这个-但是-通过这个查询,我会收到所有代理+NULL(对我来说没问题)-但是如果我需要一个带有“MARK”或“JOHN”的代理列表-我也会收到NULL?嗨,是的。。这对我来说是个问题,因为“空列表”有很多寄存器。。如果ADM按“标记”进行筛选,则仅接收2个“标记”,但接收20.000个空值..:D最好的解决方案是@1000111 post。无论如何,我也很高兴能和我分享你的知识。首先,你好@1000111,谢谢你的时间和帮助。伟大、优雅、卓越的解决方案!很好用!救我一命!太多了!!!!!!不客气,亲爱的!如果我没有错的话,一旦我遇到同样的问题。花了很多时间才弄清楚数据丢失的原因。然后发现了问题。