这是一种使用几乎任何SQL的味道。
DECLARE @Names TABLE (
First_Name VARCHAR(32)
, Last_Name VARCHAR(32)
)
INSERT INTO @Names VALUES ('John', 'Smith')
INSERT INTO @Names VALUES ('Alec', 'Baldwin')
INSERT INTO @Names VALUES ('Smith', 'John')
INSERT INTO @Names VALUES ('Angelo', 'Gordon')
INSERT INTO @Names VALUES ('Mary', 'Bush')
INSERT INTO @Names VALUES ('Bush', 'Mary')
使用JOIN
SELECT n1.*
FROM @Names n1
LEFT OUTER JOIN @Names n2 ON n2.First_Name = n1.Last_Name
AND n2.Last_Name = n1.First_Name
AND n2.First_Name < n1.First_Name
WHERE n2.First_Name IS NULL
或NOT EXISTS
SELECT n1.*
FROM @Names n1
WHERE NOT EXISTS (
SELECT *
FROM @Names n2
WHERE n2.First_Name = n1.Last_Name
AND n2.Last_Name = n1.First_Name
AND n2.First_Name < n1.First_Name
)
SQL的什么版本? – Tobiasopdenbrouw 2010-08-26 08:51:09
它是MySQL 5.1。谢谢。 – 2010-08-26 08:57:16