使用连接的名称筛选结果,但不在表中显示名称

u0njafvf  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(310)

我需要制作以下文件:

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'”,连接就不能工作。
如何使用连接的名称进行筛选?我还能用在哪里?还是另有条款?

acruukt9

acruukt91#

您只需在 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;

另请阅读:何时在mysql中使用单引号、双引号和反引号

相关问题