Sql 如何在MS Access中将字符串映射到表列?

Sql 如何在MS Access中将字符串映射到表列?,sql,ms-access,mapping,case,string-matching,Sql,Ms Access,Mapping,Case,String Matching,我需要一个SQL查询来将TableA中一列的字符串内容映射到TableB中的一组列。看起来是这样的: TableA | ID | Status | --------------- | 0 | "full" | | 1 | "part" | | | | TableB | ID | full | part |expire| -------------------------- | 0 | true | false| false| | 1 | false| true |

我需要一个SQL查询来将TableA中一列的字符串内容映射到TableB中的一组列。看起来是这样的:

TableA
| ID | Status |
---------------
| 0  | "full" |
| 1  | "part" |
|    |        |

TableB
| ID | full | part |expire|
--------------------------
| 0  | true | false| false|
| 1  | false| true | false|
|    |      |      |      |
我正在使用MS Access,目前我只有这些:

SELECT * FROM TableA INNER JOIN TableB ON TableA.ID = TableB.ID
它正确地匹配了基于ID的两个表。但是,我不知道从这里走到哪里。假设将以下内容添加到表A中:

{ID:2, Status:"Expire"}
我如何将此从表A映射到表B?理想情况下,这一切都可以在一个查询中完成

非常感谢!:)

对每列使用该函数

SELECT ID,
    IIf([Status]='full', True, False) AS [full],
    IIf([Status]='part', True, False) AS [part],
    IIf([Status]='expire', True, False) AS [expire]
FROM Table1
对每列使用该函数

SELECT ID,
    IIf([Status]='full', True, False) AS [full],
    IIf([Status]='part', True, False) AS [part],
    IIf([Status]='expire', True, False) AS [expire]
FROM Table1

你的问题不够清楚

如果要从TableA重新创建TableB,请在查询中使用IIf(expr、truepart、falsepart)函数。 下面的示例(添加的状态字段-您可以将其排除):

如果您想连接这两个表,那么请使用包含表A中所有行的左外部连接。在这种情况下,第3行布尔标志将为空,因为没有匹配的行

SELECT TableA.ID,Status,full,part,expire FROM TableA LEFT JOIN TableB ON TableA.ID = TableB.ID
问候,,
你的问题不够清楚

如果要从TableA重新创建TableB,请在查询中使用IIf(expr、truepart、falsepart)函数。 下面的示例(添加的状态字段-您可以将其排除):

如果您想连接这两个表,那么请使用包含表A中所有行的左外部连接。在这种情况下,第3行布尔标志将为空,因为没有匹配的行

SELECT TableA.ID,Status,full,part,expire FROM TableA LEFT JOIN TableB ON TableA.ID = TableB.ID
问候,,
Bikxs

预期结果是什么?如果你和我们一起分享,那就更好了。很难理解你想要什么。。给我们一个所需输出的示例。TableB是查询TableA后所需输出的示例。我故意将第三行留空,以便再次运行查询会将ID#2添加到TableB中。预期的结果是什么?如果你和我们一起分享,那就更好了。很难理解你想要什么。。给我们一个所需输出的示例。TableB是查询TableA后所需输出的示例。我故意将第三行留空,以便再次运行查询会将ID#2添加到TableB中。如何将其合并到更新集中?我可以使用SET而不是SELECT吗?
SET[full]=IIf([Status]=full',True,False)
应该可以工作。我如何将其合并到更新集中?我可以用SET代替SELECT吗?
SET[full]=IIf([Status]=full',True,False)
应该可以工作。