我已经绊倒了一段时间了。我有一个名为的表,gears其中包含名称为:id、mid和. 我想搜索这个表并以 csv 格式返回一些独特的 s列表。例如,如果我可以使用:cidinstalledmidcidcid = $cid
$query = $database -> query("SELECT COUNT(mid), GROUP_CONCAT(mid) FROM gears WHERE cid=$cid", __LINE__, __FILE__);
$gears_installed = $database -> get_result($query);
$gears = $database -> get_result($query, 0, 1);
不用担心函数名称,它们完全符合人们的预期。因此,如果该特定有 3 行$cid,使用mids: bank,lottery然后post将$gears_installed等于 3 并且$gears将等于bank,lottery,post。这按预期工作。
现在谈谈我的问题。每个唯一的mid都有自己的表,名为settings_mid_here. 即,对于上述三个,我有表格settings_bank,settings_lottery最后settings_post。这些表中的每一个也将有一个名为的列cid(这就是这两个表的关联方式)。如何运行一个查询以从每个表中返回整行 where cid=$cid?我不想为SELECT * FROM settings_bank WHERE cid=$cidandSELECT * FROM settings_post WHERE cid=$cid和 finally运行单独的查询SELECT * FROM settings_post WHERE cid=$cid,因为这可能会导致在一页加载时产生大约 10 个额外的查询(目前有 10 个不同mid的 s)。
如您所见,问题是动态的。它必须能够适应不同数量的mids,以某种方式区分每个表中的设置(例如,settings_bank可能有一个带有 name 的列name,因此可能是settings_post)。最后,如果不存在对应于给定的行,它还必须能够返回默认行(非空值)$cid。
一项复杂的任务,但我希望有人可以帮助我,因为我无法到达任何地方。