各活動のために登録された各ジェンダーの子供の数を示す活動のリストが必要です。1つのクエリで2つのテーブルからデータを取得するにはどうすればよいですか?
構造:
CREATE TABLE Child(
child_id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
pc_id INTEGER NOT NULL,
child_fname VARCHAR(20) NOT NULL,
child_lname VARCHAR(20) NOT NULL,
child_dob DATE NOT NULL,
child_gender ENUM ('F','M') DEFAULT 'F' NOT NULL,
CONSTRAINT FOREIGN KEY(pc_id) REFERENCES Parent_Carer(pc_id))
ENGINE=InnoDB;
CREATE TABLE Child_Activity(
child_id INTEGER NOT NULL,
activity_name_id ENUM('Art','Football','IT') DEFAULT 'IT' NOT NULL,
activity_day ENUM('Tuesday','Wednesday','Thursday') NOT NULL,
CONSTRAINT PRIMARY KEY(child_id,activity_name_id),
CONSTRAINT FOREIGN KEY(child_id)references Child(child_id),
CONSTRAINT FOREIGN KEY(activity_name_id)references Activity(activity_name_id))
ENGINE=InnoDB;
私は
SELECT activity_name_id,
COUNT(*) AS 'Number of Children',
child_gender AS 'Childs Gender'
FROM child c,
child_activity ca
WHERE c.child_id = ca.child_id
GROUP BY child_gender,
activity_name_id;
ありがとうございました。このクエリを持っています。
私はお詫び申し上げます。私はその質問を指定しなかった。私が必要とするのは、各活動のために登録された各ジェンダーの子どもの数を示す活動のリストです。ありがとうございました。 –