任何想法如何通过使用连续列中的WHERE来消除行?
所以说:
SELECT company_id||department_id AS "Company Dept" FROM Department
我试图进一步缩小范围:
WHERE company_id||department_id='000159999'
但是,它没有用。想知道从串联列中过滤的任何可能的解决方案(在Teradata JDBC中)?
COMPANY_ID = 00015;部门标识= 9999 请注意,相同的功能部门可能位于不同公司代码中的不同部门ID中。这就是为什么我的理想过滤器会出于连接列的原因。
提前感谢!
答案 0 :(得分:2)
为什么要将值连接在一起?只需使用:
WHERE company_id = '00015' and department_id = '9999'
从性能角度来看,这样做更好,因为查询可以利用索引(并且统计信息更准确)。如果值确实是数字,则删除'
和前导0
:
WHERE company_id = 15 and department_id = 9999
如果您有多个值,则需要:
WHERE (company_id = 15 and department_id = 9999) or
(company_id = 14 and department_id = 9998) or
. . .