Detect billeder med samme størrelse
Hey,Jeg har en database med metadata om billeder:
PictureId (uniqueidentifier), Size (int), DateUploaded (DateTime)
Jeg ønsker at finde de billeder der potientient ligger der to gange - og dette vil jeg gøre ved at teste på deres size som er fil størrelsen.
Jeg har også en tabel til kombinationer af billeder med samme størrelse, som jeg har verificeret ikke er ens:
FK_PictureId1 (uniqueidentifier), FK_PictureId2 (uniqueidentifier)
Jeg sikrer mig at billed sættet ikke allerede findes i denne tabel, derved ved jeg at jeg kun får sæt ud som jeg ikke har kontrolleret.
Jeg udvælger en liste af billed-sæt der potentielt kan være det samme billede således:
SELECT
P1.PictureId AS PictureId1,
P2.PictureId AS PictureId2
FROM
tbl_Pictures P1
INNER JOIN tbl_Pictures P2 ON P1.[Size] = P2.[Size] AND P1.PictureId <> P2.PictureId
LEFT OUTER JOIN tbl_PicturesSameSize PSS
ON (PSS.FK_PictureId1 = P1.PictureId AND PSS.FK_PictureId2 = P2.PictureId)
OR (PSS.FK_PictureId1 = P2.PictureId AND PSS.FK_PictureId2 = P1.PictureId)
WHERE
PSS.FK_PictureId1 IS NULL
Ovenstående giver mig en liste med alle kombinationer af billeder der kan være ens. Problemet er at hvis billede 1 har samme størrelse som billede 2, så optræder denne kombination 2 gange..
PictureId1 | PictureId2
billede 1 id | billede 2 id
billede 2 id | billede 1 id
Hvordan undgår jeg dette?