Hey,
something like this? Actually I would use three select fields mostly because it looks nicer in my eyes. Like filer -> vfiler -> volumes. Problem is, if you can't be sure that there are never duplicate vfiler names you will need the filer for selecting the volumes.
SELECT
CONCAT(vfiler.name,' - ',array.ip)
FROM
storage.vfiler
JOIN storage.array ON vfiler.array_id = array.id
WHERE vfiler.name NOT LIKE 'vfiler0'
SELECT
volume.name
volume.size_mb
FROM
storage.volume
JOIN storage.vfiler ON volume.vfiler_id = vfiler.id
JOIN storage.array ON volume.array_id = array.id
WHERE vfiler.name LIKE TRIM(SUBSTRING_INDEX('${ResultOfFirstQuery}','-',1))
AND array.ip LIKE TRIM(SUBSTRING_INDEX('${ResultOfFirstQuery}','-',-1))
Regards