Мне нужно запросить базу данных, которая имеет несколько дубликаций таблицы, по причинам резервного копирования и производительности. Например, таблица current_shipping , archive_shipping и даже archive_2024_shipping и та же перегрузка с другими таблицами. Мне нужно запросить все это через профсоюзный запрос, поэтому мой скрипт PHP обычно делает такую уродливую вещь: < /p>
$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);
Мне нужно запросить базу данных, которая имеет несколько дубликаций таблицы, по причинам резервного копирования и производительности. Например, таблица current_shipping , archive_shipping и даже archive_2024_shipping и та же перегрузка с другими таблицами. Мне нужно запросить все это через профсоюзный запрос, поэтому мой скрипт PHP обычно делает такую уродливую вещь: < /p> [code]$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] У кого -нибудь есть более красивая идея?
Мне нужно запросить базу данных, которая имеет несколько дубликаций таблицы, по причинам резервного копирования и производительности. Например, таблица current_shipping , archive_shipping и даже archive_2024_shipping и та же перегрузка с другими...
Мне нужно запросить базу данных, которая имеет несколько дубликаций таблицы, по причинам резервного копирования и производительности. Например, таблица current_shipping , archive_shipping и даже archive_2024_shipping и та же перегрузка с другими...
Мне нужно запросить базу данных, которая имеет несколько дубликаций таблицы, по причинам резервного копирования и производительности. Например, таблица current_shipping , archive_shipping и даже archive_2024_shipping и та же перегрузка с другими...
Мне нужно запросить базу данных, которая имеет несколько дубликаций таблицы, по причинам резервного копирования и производительности. Например, таблица current_shipping , archive_shipping и даже archive_2024_shipping и та же перегрузка с другими...