MySQL mehrzeiliges Ergebnis Durchschnittswerteberechnung

Denny1989

Aktives Mitglied
Hallo. kurz und bündig ich habe4 Entitäten:

Entity A
bewertungen zu Entity A (bestehend aus mehreren Teilbewertungen)

Entity B
bewertungen zu Entity B (bestehend aus mehreren Teilbewertungen)

jeweils (entity A/B) 1:n (Bewertungen) Beziehungen und Entity A 1:n Entity B. Ich möchte nun Eine liste mit Durchschnittsbewertungen zu von allen entity A erhalten die nach folgendem Schema berechnet werden soll:

AVG(Bewertungen A) + AVG(Bewertungen B zugehörig A) = bewertung

Kann mir jemand sagen ob das überhaupt technisch möglich ist? ich glaube es fast nicht. Fragt gern nochmal nach wenn es unklar ist, ich weiß leider nicht wie ich mich richtig ausdrücken soll :D
 

Denny1989

Aktives Mitglied
Also die DB sieht so aus.
Java:
CREATE TABLE canteen
(
	id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
	name VARCHAR(100) NOT NULL,
	email VARCHAR(100) NOT NULL UNIQUE,
	status TINYINT UNSIGNED NOT NULL,
	street_and_nr VARCHAR(100) NOT NULL,
	city VARCHAR(100) NOT NULL,
	zip_code VARCHAR(5) NOT NULL,
	country VARCHAR(3) NOT NULL,
	description TEXT,
	opening_time VARCHAR(255),
	seats INT UNSIGNED,
	PRIMARY KEY (id)
) 
;

CREATE TABLE dish
(
	id BIGINT  UNSIGNED NOT NULL AUTO_INCREMENT,
	canteen_id BIGINT UNSIGNED  NOT NULL,
	price FLOAT(10) UNSIGNED NOT NULL,
	name_and_description VARCHAR(255) NOT NULL,
	PRIMARY KEY (id)
) 
;
	


CREATE TABLE valuation_canteen
(
	id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
	canteen_id BIGINT UNSIGNED NOT NULL,
	atmosphere TINYINT UNSIGNED NOT NULL,
	waiting_period TINYINT UNSIGNED NOT NULL,
	friendliness TINYINT UNSIGNED NOT NULL,
	connection_to_transportation TINYINT UNSIGNED NOT NULL,
	cleanliness TINYINT UNSIGNED NOT NULL,
	date DATETIME NOT NULL,
	comment TEXT,
	PRIMARY KEY (id)
) 
;

CREATE TABLE valuation_dish
(
	id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
	dish_id BIGINT UNSIGNED NOT NULL,
	taste TINYINT UNSIGNED NOT NULL,
	freshness TINYINT UNSIGNED NOT NULL,
	price_performance TINYINT UNSIGNED NOT NULL,
	size TINYINT UNSIGNED NOT NULL,
	comment TEXT,
	date DATETIME NOT NULL,
	PRIMARY KEY (id)
) 
;

Ich möchte jetzt für jedes Entity Canteen ein ergebnis der folgenden Struktur haben:
Java:
canteen_id   AVG(valuation_dish) AVG(valuation_canteen)
wobei valuation_canteen und valuation_dish jeweils der durchschnitt aller kriterien der Entities sind. ist dies mit einer Abfrage also dass cih die ergebnis struktur für alle Canteens habe? also mehrerzeiliges ergebnis bei Aggregatfunktionen?
 

Ähnliche Java Themen

Neue Themen


Oben