我在Access 2010中有一个选择查询,显示一个'级别名称'其中'期间ID'设置为1
如何在查询中添加另一个字段,该字段还显示Period ID设置为2的Level Name?
我希望他们俩在不同的行中彼此相邻
作为参考,我当前的查询如下:
SELECT
qryMaster.[First Name] & " " & qryMaster.[Last Name] AS ChildName,
qryMaster.LevelName
FROM
qryMaster
WHERE
(
(qryMaster.ClassID = [Forms]![frmViewRecords_subject]![cboClass])
AND
(qryMaster.SubjectID = [Forms]![frmViewRecords_subject]![cboSubject])
AND
(qryMaster.PeriodID = 1)
);
我在子表单中添加了当前查询的外观图片。我希望在九月旁边有一个新的列,但是在不同的时期
答案 0 :(得分:1)
WHERE子句始终适用于所有字段。因此,如果您需要两个不同的WHERE子句,则需要两个查询。
否则尝试
AND (qryMaster.PeriodID In(1,2))
答案 1 :(得分:0)
我知道这个帖子在五个月前是活跃的,但我有同样的问题,发现这个页面有谷歌。假设其他人也会到达这里,我将发布我在下面找到的两个解决方案。
SELECT t1.ChildName, t1.LevelName1, qryMaster.LevelName
FROM
((SELECT
qryMaster.[First Name] & " " & qryMaster.[Last Name] AS ChildName,
qryMaster.LevelName as LevelName1
FROM qryMaster
WHERE
(
(qryMaster.ClassID = [Forms]![frmViewRecords_subject]![cboClass])
AND
(qryMaster.SubjectID = [Forms]![frmViewRecords_subject]![cboSubject])
AND
(qryMaster.PeriodID = 1)
)) AS t1)
LEFT JOIN qryMaster
ON t1.ChildName = (qryMaster.[First Name] & " " & qryMaster.[Last Name])
WHERE (
(qryMaster.ClassID = [Forms]![frmViewRecords_subject]![cboClass])
AND
(qryMaster.SubjectID = [Forms]![frmViewRecords_subject]![cboSubject])
AND
(qryMaster.PeriodID = 2)
)
由于我没有您的数据,我无法测试您的数据代码,因此我不确定" ON"子句就像这样。在我的情况下,我在那里有一些客户ID。
第二个:
SELECT t1.[First Name] & " " & t1.[Last Name] AS ChildName, t1.LevelName AS LevelName1, t2.levelName AS LevelName2
FROM qryMaster t1
INNER JOIN qryMaster t2 ON t1.Childname=(t2.[First Name] & " " & t2.[Last Name])
WHERE (
(t1.ClassID = [Forms]![frmViewRecords_subject]![cboClass]) AND
(t1.SubjectID = [Forms]![frmViewRecords_subject]![cboSubject]) AND
(t1.PeriodID = 1) AND
(t2.ClassID = [Forms]![frmViewRecords_subject]![cboClass]) AND
(t2.SubjectID = [Forms]![frmViewRecords_subject]![cboSubject]) AND
(t2.PeriodID = 2)
)