MySQL - Select 带有 LIKE 和空值
MySQL - Select with LIKE and Nulls
我需要通知客户名单和他们的代理人。
但是很多客户没有代理。 (管理员将插入数据)
然后我的 SELECT 返回:
=============
CLIENT - AGENT
ABC INC - MARK
DEF INC - MARK
GHI INC - JOHN
YXZ INC - NULL
---------------
ADM 有一个 "Search" 引擎到 select 某些代理的客户端。
我的 Select 是:
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 %% 时,他们会带来所有代理。
当我使用 LIKE %MARK% 时,他们会带上 ALL AGENTS WITH MARK
但是.. LIKE %% 我没有 "NULL" 特工..
我也需要这些信息..
有没有带 NULL 的想法?
我正在使用经典 ASP。
您需要添加如下内容:
....WHERE IFNULL(CLIENTS.NAME,'') LIKE '%%'...
在括号内添加一个附加子句以包含 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)
我需要通知客户名单和他们的代理人。
但是很多客户没有代理。 (管理员将插入数据)
然后我的 SELECT 返回:
=============
CLIENT - AGENT
ABC INC - MARK
DEF INC - MARK
GHI INC - JOHN
YXZ INC - NULL
---------------
ADM 有一个 "Search" 引擎到 select 某些代理的客户端。
我的 Select 是:
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 %% 时,他们会带来所有代理。 当我使用 LIKE %MARK% 时,他们会带上 ALL AGENTS WITH MARK
但是.. LIKE %% 我没有 "NULL" 特工..
我也需要这些信息..
有没有带 NULL 的想法?
我正在使用经典 ASP。
您需要添加如下内容:
....WHERE IFNULL(CLIENTS.NAME,'') LIKE '%%'...
在括号内添加一个附加子句以包含 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)