从 SQL 表获取的数组中的单个 IF 语句与多个 IF 语句 [关闭]

Posted

技术标签:

【中文标题】从 SQL 表获取的数组中的单个 IF 语句与多个 IF 语句 [关闭]【英文标题】:Single IF statement vs multiple IFs statements in array obtained from SQL table [closed] 【发布时间】:2013-12-10 14:59:40 【问题描述】:

我有一个显示 SQL 查询结果的表格。

但是,对于某些特殊行(其中 SOURCE="ABC"),我希望从不同的表中检索数据。

最好有一个 IF 来检查 SOURCE,然后相应地打印包含每个数据的行?还是在每个框中有多个 IF 并继续检查 SOURCE="ABC" 是否更好,然后显示来自一个或另一个表的数据?

这是当前代码的一部分,尚未实现 IF:

<td><?php echo date("D, d M Y", strtotime($val['date'])); ?></td>
<td><?php echo $val['firstName']." ".$val['lastName']; ?></td>
<td align="center"><?php echo $val['city'].", ".$val['state']; ?></td>
<td bgcolor="<?= $bg ?>" align="center"><?php echo $val['status']; ?></td>
<td align="center"><?php echo strtoupper($val['source']); ?></td>

【问题讨论】:

【参考方案1】:

早安,

结构明智(如可读性)它是最好的 - 至少我更喜欢 ifs in-line,例如:

echo $queryResult->data;
echo '</td><td>';
if($queryResult->source == 'test')
    echo 'Get info from other DB..';
else
    echo $queryResult->source;

echo '</td>'

这对我来说更具可读性,因为您可以从父级“下降” if。而在 THEN-Block 和 ELSE-Block 中包含表的所有内容似乎只是多余且难以阅读。

但是,您可能应该看看 SQL 连接和子查询(假设您使用的是 SQL),这样您就可以避免对源为 XY 的每个表行进行另一个查询。这很快就会变成性能灾难。

问候。

【讨论】:

以上是关于从 SQL 表获取的数组中的单个 IF 语句与多个 IF 语句 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

通过比较多个表条目从单个表中检索数据的 SQL 语句

SQL 组合多个 SELECT 语句

是否可以使用单个 UPDATE SQL 语句执行多个更新?

SQL查询从多个表返回数据

T-SQL - 根据来自多个表的值扩展本地参数中的文本,而不使用 if 语句

SQL Query 从一行中的单个表返回多个键值对