我需要提供以下内容:
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/