in reply to DBI MySQL Join Question

If I got your question right, you want to get only one row for every image in result, but every Image may have multiple ImgThemes and Sources. If there are several ImgThemes for Image which one should be returned?

Replies are listed 'Best First'.
Re^2: DBI MySQL Join Question
by Jazz (Curate) on Oct 04, 2009 at 22:44 UTC
    Yes, for the non "ImgTheme" fields, I need only one result. For ImgThemes, I need all results. Ideally, I'd like to do it all of this at once, but think that ImgThemes will probably have to be a separate query.

    The big need now is to get RegioName from RegioID on Regio, SourceName from SourceID on Sources, etc., without duplicate Images being given.

    Maybe a Dumper output of the structure I need would help:

    $VAR1 = { 'SAMPLE' => { 'Regio' => { 'RegioName' => 'VI', 'RegioID' => 22 }, 'Themes' => [ { 'ThemeID' => 512, 'ThemeName' => 'Greek Battles', 'ThemeType' => { 'ThemeCategory' => { 'ThemeCategoryName' => 'Narrative Scenes', 'ThemeCategoryID' => 2 } } }, { 'ThemeID' => 196, 'ThemeName' => 'Alexander the Great', 'ThemeType' => { 'ThemeCategory' => { 'ThemeCategoryName' => 'Characters', 'ThemeCategoryID' => 4 } } }, { 'ThemeID' => 9, 'ThemeName' => 'Darius', 'ThemeType' => { 'ThemeCategory' => { 'ThemeCategoryName' => 'Characters', 'ThemeCategoryID' => 4 } } }, { 'ThemeID' => 17, 'ThemeName' => 'Central Floor Mosaic', 'ThemeType' => { 'ThemeCategory' => { 'ThemeCategoryName' => 'Zones', 'ThemeCategoryID' => 9 } } } ], 'ImageID' => 4, 'ImageName' => 'Battle of Issus Mosaic', 'Insula' => { 'InsulaID' => 96, 'InsulaName' => 'House of the Faun' } } }