【发布时间】:2012-10-20 23:14:24
【问题描述】:
我将 MS-Access 2003 与查询创建器一起使用。我从一张表 (FaitsSaillants) 中选择所有内容,然后从另一张表 (tb_SOMMAIRE) 中选择一个特定行 (WHERE VARIABLE='TitreMandat')。我想从第二个表中选择另一行并将其连接起来。
查询
PARAMETERS
[CurrAxe] Text ( 255 ), [CurrOTP] Text ( 255 ),
[CurrClient] Text ( 255 ), [StartDate] DateTime, [EndDate] DateTime;
SELECT
tb_SOMMAIRE.Valeur AS Projet, tb_SOMMAIRE.VARIABLE, *
FROM
(FaitsSaillants
LEFT JOIN Employes
ON FaitsSaillants.Utilisateur = Employes.CIP)
INNER JOIN tb_SOMMAIRE
ON FaitsSaillants.OTP = tb_SOMMAIRE.OTP
WHERE
(((FaitsSaillants.OTP)=[CurrOTP]) AND
((FaitsSaillants.Client) Like [CurrClient]) AND
((FaitsSaillants.Axe) Like [CurrAxe]) AND
((DateValue([DateInsertion]))>=[StartDate] AND
(DateValue([DateInsertion]))<=[EndDate]) AND
((tb_SOMMAIRE.VARIABLE)='TitreMandat'))
ORDER BY
FaitsSaillants.DateInsertion DESC;
此查询确实添加了 ID(OTP 字段)匹配的 tb_SOMMAIRE.Valeur 字段以及 tb_SOMMAIRE.VARIABLE='TitreMandat' 的位置。它就像一个魅力。但是,我想在 tb_SOMMAIRE 结果中添加另一行。我想得到VARIABLE='TitreMandat' 所在的行(该部分实际上正在工作)和VARIABLE='NomInstallation' 所在的行。我将得到 2 行,当我要求 Projet (tb_SOMMAIRE.Value as Projet) 时,我希望将这 2 行连接起来并显示。两行的OTP (ID) 与FaitsSaillants 中选择的行相同。
抱歉,如果是法语。
表格结构
FaitsSaillants
Index AutoNumber Projet Text Axe Text Client Text OTP Text FaitSaillant Memo DateInsertion Date Utilisateur Text
tb_SOMMAIRE
OTP Text VARIABLE Text Valeur Text
数据示例
tb_SOMMAIRE
OTP VARIABLE Valeur UGPSW NomInstallation PosteNemiscau UGPSW TitreMandat oscilloperturbographe UGPSW RespIng CU9656 GWIHK NomInstallation AnotherInstallation GWIHK TitreMandat Anytitle GWIHK Responsable ImportantPerson
【问题讨论】:
-
显示一些示例数据和示例结果
标签: sql ms-access concatenation