Avatar billede sbjerre Nybegynder
30. maj 2003 - 13:26 Der er 1 kommentar og
3 løsninger

Brug af DISTINCT i MS SQL - problemer!

Hvordan bruger jeg DISTINCT i denne sætning?

Hvis et billede ID hører til flere kategorier vil billedet fremgå flere gange i resultatet hvilket skal undgås.

TABELSTRUKTUR:
image [table]      - primary
image_id
mm....

imagecategories [tabel]
imagecat_id    - primary
image_id
cat_id

categories [tabel]
cat_id            - primary
mm...



SQL QUERY:

SELECT
image.image_id AS ID,
image_title AS ImageTitle,
image_description AS Description,
image_keywords AS Keywords,
categories.cat_id AS CategoriID,
cat_name AS CategoriName,
imagedata_size AS ImageSize,
imagedata_width AS ImageWidth,
imagedata_height AS ImageHeight
FROM image
INNER JOIN imagecategories ON imagecategories.image_id = image.image_id
INNER JOIN categories ON categories.cat_id = imagecategories.cat_id
INNER JOIN imagedata ON imagedata.image_id = image.image_id
WHERE
(imagedata_isthumbnail = 0 AND image_title LIKE '%storm%') OR
(imagedata_isthumbnail = 0 AND image_description LIKE '%storm%')
OR
(imagedata_isthumbnail = 0 AND image_keywords LIKE '%storm%')




Skriv gerne hvis spøgsmålet skal uddybes
Avatar billede arne_v Ekspert
30. maj 2003 - 13:48 #1
Jeg mener at du har 2 mulige løsninger:

1)  beholde SQL og lade din applikation kun udskrive billed info
    når det er et nyt billede(men udskrive kategori for hver record)

2)  splitte SQL i 2 SQL, hvor den ene SQL henter billed info
    (1 record = 1 billede) og den anden SQL henter kategori
    for et bestemt billede
Avatar billede cestrup Nybegynder
31. maj 2003 - 20:47 #2
arne_vs forslag nr. 1 er umiddelbart det mest oplagte IMO. Alternativt kan du kaste dig over hierarkiske recordsets:

http://activedeveloper.dk/aspdigital/2001111601.asp
Avatar billede zapzap Nybegynder
02. juni 2003 - 12:10 #3
Hvordan skal den vide hvilken kategori der er den rigtige?
categories.cat_id AS CategoriID,
cat_name AS CategoriName,
bliver jo lige så mange forekomster som billedet har kategorier - så hvilken skal man se?
Avatar billede sbjerre Nybegynder
02. juni 2003 - 12:34 #4
I har allesammen del i pointene, og samtidig har jeg selv lavet løsningen på baggrund at jeres indlæg. Vi deler pointene...
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