所以我有两个表,tblMaster和Software。
我想通过通配符连接加入这些表。我的表格格式如此。
tblMaster
|ID|Title |type|state|
------------------------------------------------
|1 |Adobe Reader |A |Close|
|2 |Apache HTTP Server |A |Close|
|3 |Multiple Mozilla Products |A |Open |
|4 |Microsoft Windows File Handling |A |Open |
|5 |Microsoft Windows Client Server |A |Open |
|6 |HP Printer |A |Open |
|7 |Adobe Acrobat |A |Close|
软件
|SWID|Software Title |location|
----------------------------------
|1 |Adobe Reader |1|
|2 |Apache |1|
|3 |Mozilla |1|
|4 |Microsoft Windows |2|
|5 |HP |3|
这是我的尝试:
SELECT * FROM Software
left Join tblMaster on Software.[Software Title] like "*" & tblMaster.Title & "*";
但是当我这样做时,我收到了这个错误:
无法加入备忘录,OLE或超链接对象(软件。[软件标题],如“”& tblMaster.Title&“”)。
答案 0 :(得分:1)
你可以试试这个:
SELECT
Software.*
FROM
Software,
tblMaster
WHERE
Software.[Software Title] Like "*" & tblMaster.Title & "*";
答案 1 :(得分:1)
您无法加入通配符,因此需要一点创造力:
SELECT *
FROM Software
Left Join (SELECT tblMaster.*, Software.[SWID]
FROM tblMaster, Software
WHERE [Software Title] LIKE "*" & tblMaster.Title & "*")
AS A
ON A.[SWID] = Software.[SWID]
首先链接所有可能的连接,然后实际连接字段。
它会报告[Software Title]
两次,如果这是一个问题,请进行调整。
如果您对内部联接感到满意,则可以使用子查询。