Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 访问超级表_Mysql_Sql_Ms Access - Fatal编程技术网

Mysql 访问超级表

Mysql 访问超级表,mysql,sql,ms-access,Mysql,Sql,Ms Access,我一直想把两张桌子合并起来,但都做不成。正在尝试将员工数添加到另一个表中。 也试过了 (SELECT COUNT (*) AS [Number of Employees] FROM Employee WHERE [Training History].JobID = Employee.JobID GROUP BY JobID) 表示最后一位有语法错误,但我找不到它。您只需要一个简单的连接。() 要根据JobID组合示例表中的数据,请执行以下操作: SELECT [T

我一直想把两张桌子合并起来,但都做不成。正在尝试将员工数添加到另一个表中。

也试过了

(SELECT COUNT (*) AS [Number of Employees] 
     FROM Employee 
    WHERE [Training History].JobID = Employee.JobID
 GROUP BY JobID)

表示最后一位有语法错误,但我找不到它。

您只需要一个简单的
连接
。()

要根据
JobID
组合示例表中的数据,请执行以下操作:

SELECT
  [Training History].*,
  JobID.*
FROM
  [Training History] left **inner join** JobID
  ON [Training History].JobID = Job.JobID
这只是连接的最简单形式;您可以做更多的工作,这可能会更好地应用于您的实际数据和需求。谷歌“在Access中连接表”


此外,Access的查询设计器使完成此类任务变得更加容易,因为它为您“编写”SQL。

您所需要的只是一个简单的
连接
。()

要根据
JobID
组合示例表中的数据,请执行以下操作:

SELECT
  [Training History].*,
  JobID.*
FROM
  [Training History] left **inner join** JobID
  ON [Training History].JobID = Job.JobID
这只是连接的最简单形式;您可以做更多的工作,这可能会更好地应用于您的实际数据和需求。谷歌“在Access中连接表”


此外,Access的查询设计器使完成此类任务变得更加容易,因为它为您“编写”SQL。

我相信ashleedawg所说的是正确的。但是,由于您使用的是MS Access,因此该类型的SQL字符串很可能无法正常工作

据我所知,没有任何版本的MS Access在该上下文中支持SQL。(不过我可能错了)

如果上述内容无效,请尝试以下方法:

SELECT * 
FROM [Training History]
INNER JOIN Employee ON Employee.JobID = [Training History].JobID
编辑:

为简单起见(这是在查询[设计选项卡]的设计视图中):


我相信阿什利德所说的是真的。但是,由于您使用的是MS Access,因此该类型的SQL字符串很可能无法正常工作

据我所知,没有任何版本的MS Access在该上下文中支持SQL。(不过我可能错了)

如果上述内容无效,请尝试以下方法:

SELECT * 
FROM [Training History]
INNER JOIN Employee ON Employee.JobID = [Training History].JobID
编辑:

为简单起见(这是在查询[设计选项卡]的设计视图中):


< P>因为运行不同的分组级聚集查询(首先是通过JOBID和部门,其次是仅由JobID),考虑将它们作为派生表(即,<代码>中的嵌套子查询从或<代码>连接< /COD>子句):

或加入已保存的查询:

SELECT agg1.*, agg2.[Number of Employees]
FROM
  mySavedQueryAgg1 as agg1

INNER JOIN
  mySavedQueryAgg2 as agg2

ON agg1.JobID = agg2.JobID

因为您在运行不同的分组级聚合查询(首先是通过JOBID和部门,其次是仅由JobID),考虑将它们作为派生表(即,<代码>中的嵌套子查询从或<代码>连接< /COD>子句):

或加入已保存的查询:

SELECT agg1.*, agg2.[Number of Employees]
FROM
  mySavedQueryAgg1 as agg1

INNER JOIN
  mySavedQueryAgg2 as agg2

ON agg1.JobID = agg2.JobID

请提供错误消息。这些是真正的表还是查询?通常聚合不会保存在表中。@Parfait两张图片都是查询图片,我制作了一张中间图片来尝试解决所有问题。请提供错误消息。这些是真正的表还是查询?通常聚合不会保存在表中。@Parfait两张图片都是查询图片,我制作了一个中间图片来尝试解决所有问题。在解释中添加了一点,希望有帮助。在解释中添加了一点,希望有帮助。@Parfait确实,thx。(我整个星期都在SQL Server中工作………在Access中使用查询设计器的另一个优势示例@确实是冻糕,谢谢。(我整个星期都在SQL Server中工作………在Access中使用查询设计器的另一个优势示例!Top one工作正常,只是员工数量的输出不正确。每个工作应该是4人,但每个工作显示16人。你知道为什么吗?我正试图找出它,但找不到错误。请显示屏幕截图查询的基本SQL。您可能有另一个分组未显示。另外,这里的第二个是两个屏幕截图查询的连接(当然将mySavedQueryAgg更改为实际名称)。找到它后,我将agg2更改为以下内容(编辑您的帖子)。最上面的一个效果很好,只是员工数的输出不正确。每个工作中应该有4个,但每个工作中显示16个。知道为什么吗?我正试图找出它,但找不到错误。请显示屏幕截图查询的基本SQL。您可能有另一个分组未显示。另外,这里的第二个是两个屏幕截图查询的连接(当然将mySavedQueryAgg更改为实际名称)