我有这个SQL查询
SELECT DISTINCT category.title, category.id FROM category
INNER JOIN request ON category.id = request.category_id;
+---------------+----+
| title | id |
+---------------+----+
| Clothing | 4 |
| Dance | 12 |
| Entertainment | 37 |
+---------------+----+
如何将此查询的所有结果行作为另一个表中的文本获取,如:
update message set description = "category : <title>, id: <id>,";
select description from message;
+-------------------------------------------------------------------------------------+
| description
+-------------------------------------------------------------------------------------+
| category : Clothing, id: 4, category : Dance id: 12 category : Entertainment id: 37|
+-------------------------------------------------------------------------------------+
我想使用存储过程执行此操作,但我是这方面的新手。 为你的时间而努力。
答案 0 :(得分:0)
SELECT DISTINCT "Category: " + category.title + ", id: " + category.id + "," AS Description FROM category INNER JOIN request ON category.id = request.category_id;
作为存储过程(使用https://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-stored-procedures.html和http://www.mysqltutorial.org/getting-started-with-mysql-stored-procedures.aspx):
DELIMITER //
CREATE PROCEDURE GetDescription
AS
BEGIN
SELECT DISTINCT "Category: " + category.title + ", id: " + category.id + "," AS Description FROM category INNER JOIN request ON category.id = request.category_id;
END;
DELIMITER ;
答案 1 :(得分:0)
我使用&#34;选择......进入&#34;将所选字段的值存储到我声明的变量中,这样我就可以在另一个查询中使用这些变量
CREATE PRODECURE messagefetch()
BEGIN
DECLARE title varchar(50);
DECLARE id int(7);
SELECT DISTINCT category.title, category.id
FROM category
INTO title, id
INNER JOIN request ON category.id = request.category_id;
UPDATE message SET description = concat("category :", title, "id: ", id);
END