Sql server 同一表上的交叉检查查询
如何编写查询以显示Sql server 同一表上的交叉检查查询,sql-server,Sql Server,如何编写查询以显示sample1\u id=3和sample2\u id=5或sample1\u id=5和sample2\u id=3的记录 这意味着它应该检查sample1\u id的行,并查看在sample2\u id记录为3的情况下,哪里有5行的记录,还应该检查sample1\u id是否有记录为5行的sample2\u id记录为3 我希望我的问题有意义 根据您提供的内容,模拟语句如下所示: SELECT * FROM MyTable WHERE (sample1_id = 3 AND
sample1\u id=3
和sample2\u id=5
或sample1\u id=5
和sample2\u id=3
的记录
这意味着它应该检查sample1\u id
的行,并查看在sample2\u id
记录为3的情况下,哪里有5行的记录,还应该检查sample1\u id
是否有记录为5行的sample2\u id
记录为3
我希望我的问题有意义
根据您提供的内容,模拟语句如下所示:
SELECT *
FROM MyTable
WHERE (sample1_id = 3 AND sample2_id = 5)
OR (sample1_id = 5 AND sample2_id = 3);
如果这不正确,请提供一些样本数据和您想要的结果样本
在回答有关使用变量的问题时添加了以下内容:
DECLARE @intId1 int,
@intId2 int;
SET @intId1 = 3;
SET @intId2 = 5;
BEGIN;
SELECT *
FROM MyTable
WHERE (sample1_id = @intId1 AND sample2_id = @intId2)
OR (sample1_id = @intId2 AND sample2_id = @intId1);
END;
一些具有期望结果的样本数据会更清晰。如果我想用变量替换数字,我将如何做?因为我可能不知道用户将通过的数字,所以我认为最好用variablesUpdated替换它以显示使用变量。根据您使用这些变量的位置:从sql server内部到外部应用程序,或者从外部应用程序-您需要了解如何填充这些变量。从外部应用程序,dreamweaving。在您的问题范围之外的网页上使用结果。您需要遵循推荐的/已建立的模式,从您选择的语言/平台执行远程sql。您只需使用我在上面发布的查询,将数字替换为变量即可。您可以通过绑定变量或在执行查询字符串之前将值连接到查询字符串中来实现这一点。前者是更好的方法。第一个答案很好,但不能将一个变量分配给两个或多个列,例如sample1_id=MMColParam和sample2_id=MMColParam2或sample1_id=MMColParam和sample2_id=MMColParam2。当我这样做时,url变成sample1\u id=3&sample2\u id=5&sample1\u id=5&sample2\u id=3,并且它读取错误的应用程序值。我希望你能理解我。如果我们可以聊天,我想给你看一些东西