Ziemlich neu in mySQL. Versuchen, eine Abfrage zum Funktionieren zu bringen, erhalten aber immer die richtigen Ergebnisse, aber dupliziert.MySQL Query gibt doppelte Ergebnisse zurück
Hier ist die Abfrage
SELECT DISTINCT
band.band_name, concert.venue_name
FROM
band, concert
WHERE
concert.date="2012-10-17" AND band_name
IN
(SELECT band.band_name FROM band WHERE band.band_id
IN
(SELECT tour.band_id from tour where tour.tour_name
IN
(SELECT tour_name from concert where concert.date="2012-10-17")));
DDL:
CREATE TABLE band (
band_id INT,
band_name VARCHAR(50),
genre VARCHAR(20),
PRIMARY KEY (band_id));
CREATE TABLE musician (
person_id INT,
name VARCHAR(50),
band_id INT,
PRIMARY KEY (person_id),
FOREIGN KEY (band_id) REFERENCES band(band_id));
CREATE TABLE tour(
tour_name VARCHAR(50),
band_id INT,
PRIMARY KEY (tour_name),
FOREIGN KEY (band_id) REFERENCES band(band_id));
CREATE TABLE venue(
venue_name VARCHAR(30),
hire_cost INT,
PRIMARY KEY (venue_name));
CREATE TABLE concert(
concert_id INT,
date DATE,
tour_name VARCHAR(50),
venue_name VARCHAR(30),
ticket_sales INT,
PRIMARY KEY (concert_id),
FOREIGN KEY (tour_name) REFERENCES tour(tour_name),
FOREIGN KEY (venue_name) REFERENCES venue(venue_name));
ich total verloren bin. Jede Hilfe würde sehr geschätzt werden.
Ja. Siehe über JOINs. Jedes Anfängerbuch oder Tutorial würde tun. – Strawberry
Ich bin überrascht, dass eine distinct-Klausel keine Duplikate entfernt. Können Sie Beispieldaten zu Ihrer Frage als Text hinzufügen? –