eliminate duplicate in JOIN
From: Carl Forsman <fatwallet951_at_yahoo.com>
Date: Sun, 05 Apr 2009 00:39:00 -0800
Message-ID: <42rgt4dp8cgalgjn5kqr0qe7uptsanjvn7_at_4ax.com>
The following query will return Triple word from a table like the following:
How can I elimate rows that contain the same words? The output should be:
The output should not have 2 row containsexact 3 words
SELECT DISTINCT A.word As word1, B.word AS word2, C.word AS word3 FROM Data AS A
JOIN Data AS B
AND ABS(A.position - C.position) < 3
ORDER BY word1; Received on Sun Apr 05 2009 - 03:39:00 CDT
Date: Sun, 05 Apr 2009 00:39:00 -0800
Message-ID: <42rgt4dp8cgalgjn5kqr0qe7uptsanjvn7_at_4ax.com>
The following query will return Triple word from a table like the following:
pretty, woman, a
a, pretty woman
china,great, wall wall, great, china great, wall, china
=============================
How can I elimate rows that contain the same words? The output should be:
pretty, woman, a
wall, great, china
-OR-
a, pretty woman
wall, great, china
-OR-
a, pretty woman
great, wall, china
... etc
The output should not have 2 row containsexact 3 words
For example, if I have 3 words ( pretty + woman + a ) pretty, woman, a
Then the output will not contain (a + pretty + woman) a, pretty woman
SELECT DISTINCT A.word As word1, B.word AS word2, C.word AS word3 FROM Data AS A
JOIN Data AS B
ON A.document = B.document
AND A.position < B.position
AND ABS(A.position - B.position) < 3
JOIN Data AS C
ON A.document = C.document AND A.position < C.position AND B.position < C.position
AND ABS(A.position - C.position) < 3
ORDER BY word1; Received on Sun Apr 05 2009 - 03:39:00 CDT