MYSQL 操作数错误我不明白
MYSQL Operand Error I don't understand
该网站的新手,但我有一个查询的快照,但我无法理解为什么。
type 5 is a call, type 0 is a note (but could be a call due to record
keeping) so I'm trying to find = type 5 or (type 0 where the clients
name is within the note).
以下是失败的部分
AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE ('%', c.frstnme1 ,'%')))
如果我将 c.frstnme1
替换为该字段中的实际名称,则此方法有效,但它不适用于 c.frstnme1
中的信息请求。我不明白这一点,因为 c.frstnme1
中只能有一项信息,而 table 已经链接为“FROM c, ct WHERE ct.cse = c.id
”,所以它不应该先尝试寻找其他信息名字。但它再次适用于完全相同的查询,但使用的是实际输入的名称。请帮忙!
谢谢
威尔
您缺少 concat()
like
模式:
AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE CONCAT('%', c.frstnme1, '%')))
出现奇怪的错误是因为 ,
在您拥有它的上下文中是不允许的。
您需要做的是在查询中使用 MySQL Concat 函数。
AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE CONCAT('%', c.frstnme1 ,'%')))
它失败了,因为您没有指定要将字符串与列连接起来。当您将其替换为实际名称时它会起作用,因为您随后正在查询:
AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE ('%ACTUAL NAME%')))
当我们在条件中使用 like 时,我们需要在 "concat" 函数中保留比较字符串或其他内容。
谢谢。
该网站的新手,但我有一个查询的快照,但我无法理解为什么。
type 5 is a call, type 0 is a note (but could be a call due to record keeping) so I'm trying to find = type 5 or (type 0 where the clients name is within the note).
以下是失败的部分
AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE ('%', c.frstnme1 ,'%')))
如果我将 c.frstnme1
替换为该字段中的实际名称,则此方法有效,但它不适用于 c.frstnme1
中的信息请求。我不明白这一点,因为 c.frstnme1
中只能有一项信息,而 table 已经链接为“FROM c, ct WHERE ct.cse = c.id
”,所以它不应该先尝试寻找其他信息名字。但它再次适用于完全相同的查询,但使用的是实际输入的名称。请帮忙!
谢谢 威尔
您缺少 concat()
like
模式:
AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE CONCAT('%', c.frstnme1, '%')))
出现奇怪的错误是因为 ,
在您拥有它的上下文中是不允许的。
您需要做的是在查询中使用 MySQL Concat 函数。
AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE CONCAT('%', c.frstnme1 ,'%')))
它失败了,因为您没有指定要将字符串与列连接起来。当您将其替换为实际名称时它会起作用,因为您随后正在查询:
AND (ct.tpe = 5 OR (ct.tpe = 0 AND ct.smmry LIKE ('%ACTUAL NAME%')))
当我们在条件中使用 like 时,我们需要在 "concat" 函数中保留比较字符串或其他内容。
谢谢。