我有一个为多个网站设置的票务系统。数据库中的每个表在所有网站上都是相同的。
我的问题是如何查询每个数据库中的多个表?
示例:
我需要编写一个查询,告诉我最近提交的门票是什么。
所以我想知道门票的来源和发布的时间。
这是我尝试过但需要一些指导,因为我以前从未使用过多个数据库。
$database_1 = 'dogs';
$database_2 = 'cats';
$recent = DB::getInstance()->query("
SELECT `st_id`,`dates`,`complex` FROM {$database_1}.`support_ticket` WHERE `status` = 'OPEN' ORDER BY `dates` DESC LIMIT 1
UNION ALL
SELECT `st_id`,`dates`,`complex` FROM {$database_2}.`support_ticket` WHERE `status` = 'OPEN' ORDER BY `dates` DESC LIMIT 1 ");
foreach($recent->results() as $r):
?>
<div class="box-bottom">Most Recent: <?php echo escape($r->complex); ?> -
<?php echo escape (date("F d, Y - h:i a", strtotime ($r->dates))); ?></div>
<?php endforeach ?>
答案 0 :(得分:1)
只需使用一个ORDER BY语句
SELECT `st_id`,`dates`,`complex`
FROM {$database_1}.`support_ticket`
WHERE `status` = 'OPEN'
UNION ALL
SELECT `st_id`,`dates`,`complex`
FROM {$database_2}.`support_ticket`
WHERE `status` = 'OPEN'
ORDER BY `dates` DESC LIMIT 1