WITH RECURSIVE numbers AS (
	SELECT 1 n
	UNION ALL
	SELECT n + 1
		FROM numbers
		WHERE n < ?
)
SELECT ROW_NUMBER() OVER() labelNum,
        b.id buyFk,
        b.itemFk,
        b.quantity,
        b.packing,
        b.isPickedOff,
        b.entryFk,
        e.sub,
        o.code origin,
        COALESCE(p.`name`, p.id, '') producer,
        i.name item,
        i.`size`,
        i.category,
        i.stems,
        i.inkFk,
        IFNULL(CONCAT(ig.longName, ' ', ig.`size`, ' ', ig.subName), i.comment) comment,
        i.typeFk,
        i.isLaid,
        w.code buyerName,
        w.code,
        s.company_name companyName,
        t.shipped
    FROM vn.buy b
        JOIN vn.item i ON i.id = b.itemFk
        LEFT JOIN vn.item ig ON ig.id = b.itemOriginalFk
        LEFT JOIN edi.ekt e ON e.id = b.ektFk
        JOIN vn.origin o ON o.id = i.originFk
        LEFT JOIN vn.producer p ON p.id = i.producerFk
        JOIN vn.itemType it ON it.id = i.typeFk 
        JOIN vn.worker w ON w.id = it.workerFk 
        LEFT JOIN edi.supplier s ON s.supplier_id = e.pro
        JOIN vn.entry e2 ON e2.id = b.entryFk
        JOIN vn.travel t ON t.id = e2.travelFk
        JOIN numbers num
    WHERE b.id = ?