我必须将表格作为: 表1:
UID | COLLEGE_NAME | COLLEGE_ADDRESS
------------------------------------
表2:
UID | COMPANY_NAME | COMPANY_ADDRESS
------------------------------------
我有2个问题:
select * from table1 where uid='$uid';
select * from table2 where uid='$uid';
我想在一个程序中编写这两个查询。
答案 0 :(得分:2)
单个过程中多个选择quires的结构:
CREATE PROCEDURE
示例(l_uid INT)BEGIN
SELECT
*FROM
college_eduWHERE
uid = l_uid;
SELECT
*FROM
work_experienceWHERE
uid = l_id;
END
答案 1 :(得分:0)
以下是创建STORED PROCEDURE
的声明。
DELIMITER $$
CREATE PROCEDURE procedureName(IN _uid VARCHAR(15))
BEGIN
SELECT UID, COLLEGE_NAME name, COLLEGE_ADDRESS address
FROM table1
WHERE uid = _uid
UNION ALL
SELECT UID, COMPANY_NAME name, COMPANY_ADDRESS address
FROM table2
WHERE uid = _uid
END $$
DELIMITER ;
请注意UNION
上有ALL
个关键字,用于在结果列表中添加重复记录。但如果您更喜欢UNIQUE
,请移除ALL
上的UNION
关键字。
答案 2 :(得分:0)
以下代码可能会为您服务。此外,附加的tbl列将告诉您数据来自哪个表,这将有助于进一步操作。
SELECT UID, COLLEGE_NAME name, COLLEGE_ADDRESS address , 1 as tbl
FROM table1
WHERE uid = _uid
UNION ALL
SELECT UID, COMPANY_NAME name, COMPANY_ADDRESS address , 2 as tbl
FROM table2
WHERE uid = _uid