我正在使用MySQL中的db,並且需要來自一行中少數表的數據。這是相對於數據庫的連接問題:子查詢在MySQL過程中返回多於1行
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
a.own_color as 'color',
(select id_pet from pet_owner where id_own = @param) as 'pets'
from own as a where a.id = @param;
END$$
call pet;
子查詢返回多個1行
如何收集所有的寵物ID的一排(每id_pet可以在其他列)
我不清楚存儲的proc打算做什麼,或者您期望從其中的查詢輸出的格式。目前主要查詢和子查詢之間沒有關係 - 這是故意的嗎? –