Click here to Skip to main content
15,889,335 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
my table is like this: SPJ table(snumber, pnumber, jnumber, qty)

my string varchar outputs null when I concat it to itself.

what I want is parenthesized the pairs of ( supplier-number, total-qty-supplied) for all supplier who supply parts.

this is what I have:
SQL
DELIMITER $$
    CREATE DEFINER=`root`@`localhost` PROCEDURE `supplierInfo`(OUT `string` VARCHAR(300))
    BEGIN
    DECLARE s VARCHAR(40);
    DECLARE number VARCHAR(4);
    DECLARE qty  int(6);
    DECLARE FOUND BOOLEAN DEFAULT TRUE;

    DECLARE cur CURSOR FOR
    SELECT DISTINCT spj.snumber, SUM(spj.qty)
    FROM spj
    GROUP BY spj.snumber;
    DECLARE CONTINUE HANDLER FOR NOT FOUND
    SET FOUND = false;
    OPEN cur; 
    FETCH cur INTO number, qty;
    WHILE(FOUND)DO
    SET string = CONCAT(string,'(',number,' ',qty,')');
    FETCH cur INTO number, qty;
    END WHILE;
    CLOSE cur;
    END$$
    DELIMITER ;


What I have tried:

SET string = CONCAT(string,'(',number,' ',qty,')');
SQL

Posted
Updated 4-Dec-17 18:35pm
Comments
Santosh kumar Pithani 5-Dec-17 0:28am    
why 'String' is used in concat? Use "set string=(select concat('(',number,',',qty,')') );"

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `supplierInfo`()
BEGIN
DECLARE number VARCHAR(4);
DECLARE qty  int(6);
DECLARE FOUND BOOLEAN DEFAULT TRUE;

DECLARE cur CURSOR FOR
SELECT DISTINCT spj.snumber, SUM(spj.qty)
FROM spj
GROUP BY spj.snumber;

DECLARE CONTINUE HANDLER FOR NOT FOUND
SET FOUND = false;

OPEN cur; 
FETCH cur INTO number, qty;

WHILE(FOUND)DO
SELECT CONCAT('(Supplier = ',number,', total Part qty = ',qty,')') AS snumber_And_total_Qty;
FETCH cur INTO number, qty;
END WHILE;

CLOSE cur;
END$$
DELIMITER ;
 
Share this answer
 
Comments
Santosh kumar Pithani 5-Dec-17 1:08am    
Good!
SELECT CONCAT('stringName','(number',',qty)') as Name;

output
------
Name
----
stringName(number,qty)
 
Share this answer
 
Comments
Member 13558298 5-Dec-17 0:37am    
thanks you are a life saver it worked like a charm!
Santosh kumar Pithani 5-Dec-17 0:48am    
Welcome !

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900