schildi: php, mysql abfrage mit mehrdimensionalem(?) ergebnis

Beitrag lesen

yo,

ich habe nicht alles verstanden, was du machen willst. aber deine abfrage ist "mysql-schrott", um es mal ein wenig härer auszudrücken, sprich alle anderen dbms würden dir bei dieser abfrage ein fehlermeldung ausgeben. mysql verfolgt dort eine andere strategie, die aber zu mehr problemen als lösungen führt.

erklär doch bitte mal genauer, wie genau du auf diesen schluß kommst.
das das datenbank-design schlecht ist weiss ich, das habe ich vor jahren ohne großes grundwissen entworfen gehabt und soll dummerweise heute noch herhalten.

grundsätzlich ist es so, dass du nur spalten ausgeben kannst, über die auch gruppiert wurde oder aber die aggregat-funktionen benutzen. zum anderen kommt mir deine joins auf den ersten blick merkwürdig vor, aber vielleicht hat es ja auch einen sinn, der mir verborgen bleibt.

hat vielleicht mit dem oben angesprochenen schlechten design zu tun..

ich sclage vor, du gibst uns die betroffenen tabellen mit beispieldatensätzen und dann das genau ergebnis, dass du haben willst, am besten auch ohne irgend welchen php code.

die tabellendefinitionen habe ich mal untenstehend reinkopiert.
was die daten angeht, wäre das hier zu umfangreich.

wenn ich da was per mail oder so durchschicken könnte wäre besser?
du kannst mich gerne kontaktieren unter der angegebenen email-adresse

  
-- Table structure for table `fund_companies`  
CREATE TABLE `fund_companies` (  
  `company_id` varchar(8) collate utf8_unicode_ci NOT NULL default '0',  
  `fund_company_alias_name_id` varchar(8) collate utf8_unicode_ci NOT NULL,  
  `activated` enum('Y','N') collate utf8_unicode_ci NOT NULL default 'N',  
  `logo_url` varchar(255) collate utf8_unicode_ci default NULL,  
  PRIMARY KEY  (`company_id`),  
  KEY `fund_company_alias_name_id` (`fund_company_alias_name_id`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  
  
-- Table structure for table `fund_companies_alias_names`  
CREATE TABLE `fund_companies_alias_names` (  
  `company_id` varchar(8) collate utf8_unicode_ci NOT NULL,  
  `fund_company_alias_name_id` varchar(8) collate utf8_unicode_ci NOT NULL,  
  PRIMARY KEY  (`fund_company_alias_name_id`),  
  KEY `company_id` (`company_id`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  
  
-- Table structure for table `fund_company_alias_name`  
CREATE TABLE `fund_company_alias_name` (  
  `fund_company_alias_name_id` varchar(8) collate utf8_unicode_ci NOT NULL,  
  `fund_company_alias_name` varchar(255) collate utf8_unicode_ci NOT NULL,  
  `sql_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,  
  `parent_fund_company_alias_name_id` varchar(8) collate utf8_unicode_ci default NULL,  
  PRIMARY KEY  (`fund_company_alias_name_id`),  
  KEY `parent_fund_company_alias_name_id` (`parent_fund_company_alias_name_id`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  
  
-- Table structure for table `fund_company_extending_options_availability`  
CREATE TABLE `fund_company_extending_options_availability` (  
  `option_id` varchar(8) collate utf8_unicode_ci NOT NULL default '',  
  `isin` varchar(12) collate utf8_unicode_ci NOT NULL default '',  
  `company_id` varchar(8) collate utf8_unicode_ci NOT NULL default '',  
  PRIMARY KEY  (`option_id`,`isin`,`company_id`),  
  KEY `isin` (`isin`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  
  
-- Table structure for table `fund_extending_options`  
CREATE TABLE `fund_extending_options` (  
  `option_id` varchar(8) collate utf8_unicode_ci NOT NULL default '',  
  `name` varchar(255) collate utf8_unicode_ci default NULL,  
  PRIMARY KEY  (`option_id`),  
  UNIQUE KEY `name` (`name`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  
  
-- Table structure for table `fund_extending_options_availability`  
CREATE TABLE `fund_extending_options_availability` (  
  `option_id` varchar(8) collate utf8_unicode_ci NOT NULL default '',  
  `isin` varchar(12) collate utf8_unicode_ci NOT NULL,  
  PRIMARY KEY  (`option_id`,`isin`),  
  KEY `isin` (`isin`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  
  
-- Table structure for table `fund_platform_extending_options_availability`  
CREATE TABLE `fund_platform_extending_options_availability` (  
  `option_id` varchar(8) collate utf8_unicode_ci NOT NULL default '',  
  `isin` varchar(12) collate utf8_unicode_ci NOT NULL,  
  `platform_id` varchar(8) collate utf8_unicode_ci NOT NULL default '',  
  PRIMARY KEY  (`option_id`,`isin`,`platform_id`),  
  KEY `isin` (`isin`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  
  
-- Table structure for table `fund_platform_fund_availability`  
CREATE TABLE `fund_platform_fund_availability` (  
  `platform_id` varchar(8) collate utf8_unicode_ci NOT NULL default '',  
  `isin` varchar(12) collate utf8_unicode_ci NOT NULL default '',  
  `discount` float(5,2) unsigned default NULL,  
  `discount_savings_plan` float(5,2) unsigned default NULL,  
  `min_investment_sum_savings_plan` float(12,2) unsigned default NULL,  
  `min_investment_sum_savings_plan_currency` varchar(32) collate utf8_unicode_ci default NULL,  
  `min_investment_sum_onetime` float(12,2) unsigned default NULL,  
  `min_investment_sum_onetime_currency` varchar(32) collate utf8_unicode_ci default NULL,  
  `savings_plan_capable` enum('Y','N') collate utf8_unicode_ci default NULL,  
  PRIMARY KEY  (`platform_id`,`isin`),  
  KEY `isin` (`isin`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  
  
-- Table structure for table `fund_platform_fund_company_availability`  
CREATE TABLE `fund_platform_fund_company_availability` (  
  `platform_id` varchar(8) collate utf8_unicode_ci NOT NULL default '',  
  `company_id` varchar(8) collate utf8_unicode_ci NOT NULL default '',  
  PRIMARY KEY  (`platform_id`,`company_id`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  
  
-- Table structure for table `fund_platforms`  
CREATE TABLE `fund_platforms` (  
  `platform_id` varchar(8) collate utf8_unicode_ci NOT NULL default '',  
  `name` varchar(255) collate utf8_unicode_ci NOT NULL default '0',  
  `abbreviation` varchar(255) collate utf8_unicode_ci default NULL,  
  `logo_url` varchar(255) collate utf8_unicode_ci default NULL,  
  `platform_type` enum('platform','directbank') collate utf8_unicode_ci NOT NULL default 'platform',  
  `img_logo_small` varchar(255) collate utf8_unicode_ci NOT NULL default '',  
  PRIMARY KEY  (`platform_id`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  
  
-- Table structure for table `funds`  
CREATE TABLE `funds` (  
  `isin` varchar(12) collate utf8_unicode_ci NOT NULL,  
  `name` varchar(255) collate utf8_unicode_ci default NULL,  
  `wkn` varchar(6) collate utf8_unicode_ci default NULL,  
  `fund_load` float(5,2) unsigned default NULL,  
  `company_id` varchar(8) collate utf8_unicode_ci default NULL,  
  PRIMARY KEY  (`isin`),  
  KEY `isin` (`isin`),  
  KEY `wkn` (`wkn`),  
  KEY `company_id` (`company_id`)  
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;  

Ilja