Avatar billede sbay Nybegynder
18. januar 2008 - 23:57 Der er 1 kommentar og
1 løsning

Inner join - samme værdi er med flere gange

Hejsa

Jeg har en håndfuld tabeller jeg joiner i en select. Problemet er, at samme værdi optræder flere gange! Hvorfor er det nu lige den gør det?

SELECT DISTINCT
`tog_producent`.`p_name`,
`train_item_main`.`MainCatalogNo`,
`tog_item_cat`.`ic_name`,
`tog_itemcat_sub`.`is_name`,
`train_item_main`.`MainTitel`,
`train_item_loko`.`LokoModel`,
`train_item_loko`.`LokoAxels`,
`train_item_main`.`MainId`,
`tog_selskaber`.`se_shortname`,
`tog_epoke`.`e_epoke`
FROM
`train_item_main`
Inner Join `train_item_loko` ON `train_item_loko`.`LokoMainID` = `train_item_main`.`MainId`
Inner Join `tog_producent` ON `train_item_main`.`MainManufactorID` = `tog_producent`.`p_id`
Inner Join `tog_scale_ref` ON `train_item_main`.`MainScaleID` = `tog_scale_ref`.`sref_sid`
Inner Join `tog_scale` ON `tog_scale_ref`.`sref_id` = `tog_scale`.`s_id`
Inner Join `tog_ic_ref` ON `train_item_main`.`MainItemCat` = `tog_ic_ref`.`icref_icid`
Inner Join `tog_item_cat` ON `tog_ic_ref`.`icref_id` = `tog_item_cat`.`ic_id`
Inner Join `tog_itemcat_sub` ON `train_item_main`.`MainItemCatSub` = `tog_itemcat_sub`.`is_id`
Inner Join `tog_selskaber` ON `train_item_loko`.`LokoCompanyID` = `tog_selskaber`.`se_id`
Inner Join `tog_epoke` ON `train_item_main`.`MainEraID` = `tog_epoke`.`e_id`
Avatar billede sbay Nybegynder
19. januar 2008 - 21:37 #1
Her en forsimplet udgave - med samme problem:

SELECT
`train_item_main`.`MainTitel`,
`tog_scale`.`s_scale`,
`train_item_main`.`MainId`
FROM
`train_item_main`
Inner Join `tog_scale_ref` ON `train_item_main`.`MainScaleID` = `tog_scale_ref`.`sref_sid`
Inner Join `tog_scale` ON `tog_scale_ref`.`sref_id` = `tog_scale`.`s_id`


Giver resultatet: (Der skulle være 5!)

Lokomotiv rød    1:87    2
1234        1:87    5
Damper        1:87    6
MiniTrix loko    1:160    1
123456 mmm    1:160    3
Lokomotiv rød    1:22,5    2
1234        1:22,5    5
Damper        1:22,5    6
MiniTrix loko    1:22,5    1
123456 mmm    1:22,5    3
Lokomotiv rød    1:64    2
1234        1:64    5
Damper        1:64    6
MiniTrix loko    1:120    1
123456 mmm    1:120    3
Lokomotiv rød    1:220    2
1234        1:220    5
Damper        1:220    6
Avatar billede sbay Nybegynder
19. januar 2008 - 22:05 #2
Har løst det med WHERE -delen
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