This is subquery working fine with required result, now I am writing a stored procedure for the same results.
I want to use in stored procedure logic as
- Declare variables
- Set them
- use in queries
Query:
x
SELECT payloadstr,
starttime
FROM pa
WHERE conid IN (SELECT conid
FROM con
WHERE lognid IN (SELECT id
FROM log
WHERE phyid IN (SELECT id
FROM phyid
WHERE mac = 9729)));
Advertisement
Answer
Try this:
BEGIN
SET @macid = 9729; -- Take input from stored procedure
SET @phyid_id = (SELECT GROUP_CONCAT(`id`) FROM `phyid` WHERE `mac` = @macid);
SET @log_id = (SELECT GROUP_CONCAT(`id`) FROM `log` WHERE `phyid` IN(@phyid_id));
SET @con_conid = (SELECT `conid` FROM `con` WHERE `lognid` IN(@log_id));
SELECT `str`, `time` FROM `pa` WHERE `conid` IN(@con_conid);
END