初学者*。我有一个表允许用户运行查询。但是在我的系统中,我允许用户在表上运行查询,然后使用相同的先前查询结果运行另一个查询。
SELECT * FROM employees WHERE jobTitle = 'Sales Rep'
SELECT * FROM employees WHERE officeCode = '1'
以前使用SQLite语法我可以通过将两个查询操作到
来实现这一点SELECT * FROM (SELECT * FROM employees WHERE jobTitle = 'Sales Rep') WHERE officeCode = '1'
但是,我在MySQL中尝试了同样的方法,我收到了错误:
#1248 - Every derived table must have its own alias
是否有不同的语法或在MySQL中根本不可能?
答案 0 :(得分:1)
您只需要子查询中的别名:
SELECT t.*
FROM (SELECT *
FROM employees
WHERE jobTitle = 'Sales Rep'
) t
WHERE officeCode = '1' ;
t
是别名。
此查询通常只使用AND
编写:
SELECT *
FROM employees
WHERE jobTitle = 'Sales Rep' AND
officeCode = '1' ;