当列是创建的别名时,我无法弄清楚为什么我会得到一个未知列.任何帮助都会很棒.
码:
SELECT DISTINCT
c.id,
((SUM(c.width_feet)*12)+(SUM(c.width_inches))) AS width,
((SUM(c.height_feet)*12)+(SUM(c.height_inches))) AS height
FROM carpets AS c
WHERE c.active = '1'
AND (width BETWEEN '0' AND '275')
AND (height BETWEEN '0' AND '599')
ORDER BY c.item_no
Run Code Online (Sandbox Code Playgroud)
错误:
'where子句'中的未知列'width'
Jus*_*ier 12
您无法直接按名称访问别名.
一种解决方案是使用子查询中的别名包装查询,然后引用外部查询中的别名:
SELECT DISTINCT *
FROM
(
SELECT c.id,
((SUM(c.width_feet)*12)+(SUM(c.width_inches))) AS width,
((SUM(c.height_feet)*12)+(SUM(c.height_inches))) AS height
FROM carpets AS c
WHERE c.active = '1'
) sub
WHERE (sub.width BETWEEN '0' AND '275')
AND (sub.height BETWEEN '0' AND '599')
ORDER BY sub.item_no
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6275 次 |
| 最近记录: |