Avatar billede milandt Nybegynder
22. februar 2007 - 18:03 Der er 1 kommentar og
1 løsning

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?
Avatar billede milandt Nybegynder
25. februar 2007 - 21:09 #1
ingen?
Avatar billede milandt Nybegynder
18. maj 2007 - 13:10 #2
exp er død! experts-exchange længe leve
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester