下面是我正在尝试执行的查询。我出错了
classitem不是列名。
有人能告诉我在这个问题上哪里出错了吗。
SELECT
*, CONCAT([Cabin], [Item]) AS ClassItem
FROM
FQR_RAW_1 AS ClassItem
WHERE
ClassItem IN ('%JCHML - Child Meal%', '%WCHML - Child Meal%', '%YMC - Beef%', '%YMC - Chicken%', '%YMC - Fish / Shellfish%', '%YMC - Pork%', '%YMC - Regional Taste (Non Veg)%', '%YMC - Regional Taste (Veg)%', '%YMC - Vegetarian%')
AND [Origin Region] LIKE 'USA%'
2条答案
按热度按时间rmbxnbpk1#
不能重用中定义的列
select
合同条款where
条款-这里是ClassItem
.另一个问题是你不能使用
IN
带通配符%
,这似乎是你的意图。你可能在找一系列OR
而不是条件:请注意,我还删除了表别名,这在查询中实际上是不需要的,它与列别名相同—尽管sql支持这一点,但这有点混乱。如果出于某种原因需要对表使用别名,请使用其他别名。
sg24os4d2#
不能在同一查询中重复使用别名。一个简单的解决方案是使用子查询: