我在附加的数据库文件中看到了两个表(我附加了一个旧的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
答案 0 :(得分: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