我需要一份活動列表,列出每項活動註冊的每個性別的子女數量。如何使用單個查詢從兩個表中檢索數據?
結構:
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;
謝謝。
我做了appologize。我沒有具體說明問題。我需要的是:活動列表,顯示每項活動註冊的每個性別的子女數量。謝謝。 – 2011-01-14 10:25:01