Код: Выделить всё
$sql = "SELECT many, columns, toomany, to, list, here
FROM dbo.archive_shipment AS ship, dbo.archive_package AS pack
WHERE
pack.shipment_id = ship.shipment_id
AND ship.send_mandant = 'xyz'
AND ship.send_referenznr_02 IN ('123', '345', '678')
UNION
SELECT many, columns, toomany, to, list, here
FROM dbo.archive2024_shipment AS ship, dbo.archive2024_package AS pack
WHERE
pack.shipment_id = ship.shipment_id
AND ship.send_mandant = 'xyz'
AND ship.send_referenznr_02 IN ('123', '345', '678')
UNION
SELECT many, columns, toomany, to, list, here
FROM dbo.current_shipment AS ship, dbo.current_package AS pack
WHERE
pack.shipment_id = ship.shipment_id
AND ship.send_mandant = 'xyz'
AND ship.send_referenznr_02 IN ('123', '345', '678')
< /code>
Моя идея заключалась в том, чтобы использовать цикл, который выглядит лучше, но мое ощущение выжирания в том, что есть что-то лучшее: < /p>
$unions = [];
foreach(['archive', 'archive2024' 'current'] as $prefix) {
$unions[] = "SELECT many, columns, toomany, to, list, here
FROM dbo." . $prefix . "_shipment AS ship, dbo." . $prefix . "_package AS pack
WHERE
pack.shipment_id = ship.shipment_id
AND ship.send_mandant = 'xyz'
AND ship.send_referenznr_02 IN ('123', '345', '678')
";
}
$sql = implode(' UNION ', $unions);
< /code>
У кого -нибудь есть более красивая идея? Это был просто вопрос строкости. SQL верен, и Union Подробнее здесь: https://stackoverflow.com/questions/796 ... l-fragment