ms-access - 如何在多个字段上使用相同的参数?
问题描述
我想在多个字段上使用相同的参数,因为我从 Access 中提取了一半的数据,从 SQL Server 中提取了一半的数据。SQL Server 表主要是 Access 表的克隆。所有新数据都进入 SQL Server,但用户仍然通过 Access(通过 ODBC 数据源)与所有内容进行交互。
我正在尝试使一些旧查询与新的 SQL Server 表无缝协作。基本上它们看起来像这样:
SELECT [AccessCoolUsersTable].Name AS Name, [AccessCoolUsersTable].FavoriteSandwhich AS Sandwhich
FROM [AccessCoolUsersTable]
WHERE [AccessCoolUsersTable].FavoriteSandwhich = [Enter a Sandwhich]
我希望它们像这样运行(这是伪代码)
SELECT [AccessCoolUsersTable].Name As Name, [AccessCoolUsersTable].FavoriteSandwhich AS Sandwhich
FROM [AccessCoolUsersTable]
UNION
SELECT [SQLCoolUsersTable].Name As Name, [SLCoolUsersTable].FavoriteSandwhich AS Sandwhich
FROM [SQLCoolUsersTable]
WHERE
[AccessCoolUsersTable].FavoriteSandwhich = [Enter a Sandwhich]
OR
[SQLCoolUsersTable].FavoriteSandwhich = [Enter a Sandwhich]
但发生的情况是它首先提示输入“输入参数值[AccessCoolUsersTable].FavoriteSandwhich
”,然后提示输入“输入参数值Enter a Sandwhich
”。
我只希望它请求一次值并将其用于[AccessCoolUsersTable].FavoriteSandwhich
和[SQLCoolUsersTable]
。那可能吗?
解决方案
您的WHERE
子句需要在“UNION”查询中的单个查询上。您还需要在查询中定义参数。
PARAMETERS [Enter a Sandwhich] Text ( 255 );
SELECT [AccessCoolUsersTable].Name As Name, [AccessCoolUsersTable].FavoriteSandwhich AS Sandwhich
FROM [AccessCoolUsersTable]
WHERE [AccessCoolUsersTable].FavoriteSandwhich = [Enter a Sandwhich]
UNION
SELECT [SQLCoolUsersTable].Name As Name, [SLCoolUsersTable].FavoriteSandwhich AS Sandwhich
FROM [SQLCoolUsersTable]
WHERE [SQLCoolUsersTable].FavoriteSandwhich = [Enter a Sandwhich]
或使用联合作为子查询
PARAMETERS [Enter a Sandwhich] Text ( 255 );
SELECT a.Name, a.FavoriteSandwhich FROM
(SELECT [AccessCoolUsersTable].Name As Name, [AccessCoolUsersTable].FavoriteSandwhich AS Sandwhich
FROM [AccessCoolUsersTable]
UNION
SELECT [SQLCoolUsersTable].Name As Name, [SLCoolUsersTable].FavoriteSandwhich AS Sandwhich
FROM [SQLCoolUsersTable])
AS a
WHERE a.FavoriteSandwhich = [Enter a Sandwhich]
第一个查询将具有更好的性能,因为结果首先被过滤,WHERE
然后添加到UNION
推荐阅读
- dynamics-crm - 更改销售中心统一接口的 D365 CE 站点地图上“主页”链接的 URL
- android - Kivy - 音频管理
- javascript - 如何设置滚动焦点?
- python - Spacy Entity Ruler 正则表达式模式无法识别匹配
- forms - Blazor:通过反射生成和绑定输入控件
- java - 计算创建的对象数量的类 + 随机数生成器 Java
- flutter - 如何在画中画模式下进入jitsi会议室?
- javascript - jQuery - 在图像悬停时将类添加到具有相同类的另一个元素
- html - html链接到本地文件中的锚点
- javascript - 如何获取 BehaviorSubject 中的值以在 getter 中返回?