0
我有查詢返回給我的所有者和他的寵物的數字的顏色。如何改爲返回MySQL查詢返回詳細的group_contact信息(加入)?
[Red][1,2]
成才更詳細的像
[Red][Rufus, Bali]
這是寵物的名字與寵物的ID加盟。是否可以在每個寵物名稱上創建另一列? (不使用courst的幾個選擇)
CREATE TABLE pet (id INT, name VARCHAR(20));
insert into pet values (1,"Rufus");
insert into pet values (2,"Bali");
insert into pet values (3,"Lolo");
CREATE TABLE own (id INT, own_name VARCHAR(20), own_color VARCHAR(20));
insert into own values (1,"Me", "Red");
insert into own values (2,"Other owners" ,"Green");
CREATE TABLE pet_owner (id INT, id_pet INT, id_own INT);
insert into pet_owner values (1, 1, 1);
insert into pet_owner values (2, 2, 1);
insert into pet_owner values (3, 3, 2);
DROP procedure if exists `pet`;
DELIMITER $$
CREATE procedure `pet`()
BEGIN
set @param = 1;
select o.own_color as color,
(select group_concat(id_pet) from pet_owner po where po.id_own = @param) as pets
from own o
where o.id = @param;
END$$
call pet;
考慮在處理數據顯示的問題應用程序級別(假設您有一個 - 例如簡單的PHP循環)。 – Strawberry
是的,但是當我使用過程作爲數據源對象時,我更願意在數據庫上進行大部分數據操作。 – boski
好,但我更願意將DB視爲數據存儲和檢索。我自己的看法是(除非你使用其他集合函數)組連接可以在表示層更容易和靈活地處理。 – Strawberry