因此,我遇到了从查询中获取正确数据的问题。
我有下表(人):
Name | xpath | value
Derek | /body/torso/arm | left
Derek | /body/torso/arm | right
Derek | /body/torso/neck | Head
Ron | /body/torso/neck | Head
Ron | /body/torso/arm | left
所以基本上我试图得到的查询结果是显示差异(两个人之间缺少什么)。
results:
Name1 | xpath1 | value1 | Name2 | xpath2 | value2
Derek | /body/torso/arm | right | Ron | NULL | NULL
我什至可以将以下内容取回
results:
Name1 | xpath1 | value1 | Name2 | xpath2 | value2
Derek | /body/torso/arm | right | Ron | NULL | NULL
Derek | /body/torso/arm | left | Ron | /body/torso/arm | left
Derek | /body/torso/neck | Head | Ron | /body/torso/neck | Head
我使用的查询是:
SELECT P.Name , P.xpath, P.value, P1.Name, P2.xpath, P3.value
FROM Person as P
LEFT OUTER JOIN
Person as P2 ON P.xpath = P2.xpath
WHERE
P.Name = "Derek"
AND P2.Name = "Ron"
无论我尝试什么,我不断得到的结果基本上是重叠的数据,但从来不是我真正想要的,似乎我错过了一些简单的东西或者只是做错了。有什么建议么?最终,我将在 SPROC 中运行它,但能够处理多个名称不仅仅是 2,而且如果我有,Derek、Ron、John、Dawn 等。