Avatar billede winthers Nybegynder
29. juli 2012 - 00:04 Der er 1 løsning

problemer med innerjoin

Jeg har et problem med med denne join,
jeg vil vælge language dk hvis den eksisterer ellers vil jeg bruge default language (isDefault = 1)
men enten kommer kun default language med ellers kommer alle sprog.

select
    foodGroupsTranslations.name
From
    foodGroupsTranslations
        inner join
    foodGroups ON
        (foodGroupsTranslations.fooditemID = foodGroups.id)
    where
        (foodGroupsTranslations.language = "dk" or foodGroupsTranslations.isDefault = 1)
Avatar billede winthers Nybegynder
29. juli 2012 - 01:24 #1
Jeg havde misforstået hvordan man joiner i sql

Sådan her løste jeg det :
kilde: http://www.youtube.com/watch?v=3xK5KKQx-J0

select
    foodGroups.id,
    IF (translation.name IS NULL, foodGroupsTranslations.name, translation.name) AS name
   
From foodGroups
        left join foodGroupsTranslations ON (foodGroups.id = foodGroupsTranslations.fooditemID and foodGroupsTranslations.isDefault = 1)
        left join foodGroupsTranslations as translation ON (foodGroups.id = translation.fooditemID and translation.language = "dk")
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