我试图从单列中的几个条件从sql中提取数据 我怎么能让这个工作?
SELECT RIGHT(productID, 2) AS 'a', SUBSTRING(productID,1,2) AS 'b', productID
FROM products
WHERE `group`='$one'
AND `a` LIKE 'AA%'
AND `b` LIKE '$two'
我正在尝试获取行的前2个字母和同一行中的最后2个字母以及检查group = $ one但是会出现此错误
Unknown column 'b' in 'where clause'
答案 0 :(得分:1)
SELECT RIGHT(productID, 2) AS 'a', SUBSTRING(productID,1,2) AS 'b', productID
FROM products
WHERE `group`='$one'
GROUP BY productID
HAVING
a = 'AA'
and b LIKE '$two'
不需要它是两个位置%增加执行。
答案 1 :(得分:1)
我创建了一个简单的表(sosst for StackOverFlow Test table)并为其添加了一个名为col1的VARCHAR列。下面的代码对我有用。
SELECT RIGHT(col1, 2) AS a, SUBSTRING(col1,1,2) AS b, col1 as col FROM sotest Having a like 'in%' and b like 'te%'
回报如下:
| a | b | col |
|'in'| 'te'| 'test_jermin'|
答案 2 :(得分:0)
SELECT RIGHT(productID), 2)
^---extra bracket
在指定要提取的字符数之前,您将终止该功能。
答案 3 :(得分:0)
这是因为RIGHT
函数调用中的错误,您的括号错位。将SELECT语句更改为:
SELECT RIGHT(productID, 2)