mysql - 使用串联名称来过滤结果,但不在表中显示名称

标签 mysql filter concatenation

我需要提供以下内容:

Comp No    Year Purchased
=========================

11111       2008
22222       2007
33333       2008
44444       2006

但我需要根据串联名称排除一些结果。而且我无法在结果中列出姓名。这是我的代码:

SELECT 
Comp_Num,
YEAR (Comp_PurchaseDate) AS 'Year Purchased',
CONCAT(Emp_First, ' ', Emp_Last) as 'Name'
FROM Computer
JOIN Hire using (Comp_Num)
JOIN employee using (Emp_Num)
ORDER BY Comp_Num;

它产生:

Comp No    Year Purchased   Name
================================

11111       2008            AAA
22222       2007            BBB
33333       2008            CCC
44444       2006            DDD

连接的名称用于过滤结果,例如:

WHERE ('Name' <> 'AAA' AND
        Name' <> 'DDD')

如何创建串联名称来过滤结果而不显示列?如果没有“as 'name'”,连接就不起作用。

如何使用连接的名称进​​行过滤?我还可以使用Where吗?或者还有其他条款吗?

最佳答案

您可以简单地在 WHERE 子句中定义表达式:

SELECT 
Comp_Num,
YEAR (Comp_PurchaseDate) AS `Year Purchased`
FROM Computer
JOIN Hire using (Comp_Num)
JOIN employee using (Emp_Num)
WHERE (CONCAT(Emp_First, ' ', Emp_Last) <> 'AAA' AND
       CONCAT(Emp_First, ' ', Emp_Last) <> 'DDD')
ORDER BY Comp_Num;

另请阅读:When to use single quotes, double quotes, and back ticks in MySQL

关于mysql - 使用串联名称来过滤结果,但不在表中显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53739500/

相关文章:

php - 模式与两个表列之间的mysql进行比较

javascript - 如何在 javascript 中连接两个数组?

PHP 是连接而不是添加

MySQL:根据当前月份和日期选择值

mysql - 搜索左连接 null

时间:2019-03-17 标签:c#DBColumnValues

php - 使用php从mysql获取所有字段值

ruby-on-rails - 为 Active Admin gem 侧边栏过滤器设置下拉搜索类型默认值

php - 在 PHP 中获取数组的所有其他值

sql - 将每条记录的所有列连接成一个条目