我有一个查询表(A),其中包括列问题(字符串)和引擎(字符串)。一些查询是相同的,但是引擎是不同的。我正在尝试进行内部联接,以便获得包含标准化查询和同一行中两个引擎的表。因此,我想避免两次出现具有查询和相同引擎的行。
当我运行下面的语句时,它会执行,但它包含的查询仅列出了其中一个引擎,而不是两个。我的逻辑错了吗?
SELECT DISTINCT
X.Engine AS XEnging, Y.Engine AS YEngine,
X.Question AS Question
FROM
A X
INNER JOIN
A Y ON X.Question = Y.Question AND X <> Y
我正在使用SQL Server并在Visual Studio 2017中运行脚本。
答案 0 :(得分:0)
我想你只是想得到一个不平等:
SELECT DISTINCT X.Engine AS XEnging, Y.Engine AS YEngine, X.Question as Question
FROM A X INNER JOIN
A Y
ON X.Question = Y.Question AND X.Engine < Y.Engine;
我无法从您的问题中判断出SELECT DISTINCT
是否必要。如果不是,则应将其删除,因为它只会影响性能。