Ideen med at have to forskellige databaser - en med gamle data og en med nye data er tvivlsom.
Hvis det er et givet design, så er den simple løsning 2 queries.
Men vil du absolut have 1 query, så brug ATTACH og UNIONÆ
<?php
define('DIR', 'C:\\work\\');
// setup
function credb($dbnam, $start, $end) {
$db = new SQLite3(DIR . $dbnam);
$db->exec('CREATE TABLE t (f INTEGER NOT NULL PRIMARY KEY)');
for($i = $start; $i <= $end; $i++) {
$db->exec("INSERT INTO t VALUES($i)");
}
$db->close();
}
credb('gl.db', 1, 3);
credb('ny.db', 4, 6);
// test single
function test($dbnam) {
$db = new SQLite3(DIR . $dbnam);
$q = $db->query('SELECT f FROM t');
while($row = $q->fetchArray()) {
echo $row['f'] . "\r\n";
}
$db->close();
}
test('gl.db');
test('ny.db');
// test multi
$db = new SQLite3(':memory:');
$db->exec("ATTACH '" . DIR . "gl.db' AS gl");
$db->exec("ATTACH '" . DIR . "ny.db' AS ny");
$q = $db->query('SELECT f FROM gl.t UNION SELECT f FROM ny.t');
while($row = $q->fetchArray()) {
echo $row['f'] . "\r\n";
}
$db->close();
?>