1

正如您在附加的数据库文件中看到的那样,我有两个表(我附加了一个旧的 ms 访问文件 .mdb 和同一个文件的新版本 .accdb)

一个表有一个数字主键字段和一个参考字段。

另一个表将引用(例如 1.1.1 或 1.1.2)作为主键字段。

我需要进行一个 sql 查询,该查询将在第一个表的字段中获取相应的引用,并从引用表中粘贴这些引用的描述。

例如,“TableToBeQueried”表的第一个条目是:

RecordID References
       1 1.1.1; 1.1.2

因此,sql 查询理论上会从引用表中返回 1.1.1 和 1.1.2 引用描述,它们是:

This is the first reference
This is the second reference

下载:http ://www.mediafire.com/?6ppbztsx82mvmal,ny93tln8f097jpp

4

1 回答 1

1

TableToBeQueried未标准化,这使您的问题更具挑战性。RecordID使用包含和的每个组合的行的联结表会更容易Paragraph

RecordID Paragraph
       1 1.1.1
       1 1.1.2

但是,如果您坚持现在所拥有的,那是可以做到的。

SELECT
    t.RecordID,
    t.Description,
    t.References,
    r.Paragraph,
    r.Description
FROM
    TableToBeQueried AS t,
    [References] AS r
WHERE
         '; ' & [t].[References] & ';'
    Like '*; ' & [r].[Paragraph] & ';*'
ORDER BY
    t.RecordID,
    r.Paragraph;

这适用于在 Access 应用程序会话(SQL89 模式)内运行的查询。但是,如果您使用 OleDb 从外部 Access(SQL92 模式)运行此查询,请将通配符从 更改*%.

这些是该查询返回的前 2 行:

RecordID t.Description References    Paragraph r.Description
       1 Description 1 1.1.1; 1.1.2  1.1.1     This is the first reference
       1 Description 1 1.1.1; 1.1.2  1.1.2     This is the second reference
于 2013-01-14T05:48:06.807 回答