gpt4 book ai didi

Mysql 依赖于 IF 条件下的嵌套内部查询

转载 作者:行者123 更新时间:2023-11-29 03:38:55 29 4
gpt4 key购买 nike

我需要计算分页的结果数。

演示查询

select A.order_id, 
IF(
E.assign_date IS NOT NULL AND E.assign_date != '0000-00-00',
DATE_FORMAT(E.assign_date , '%d-%b-%y'),
(select data from other tables with other conditions)
) AS assign_date,
.......
where
.....
and assign_date > 2013-08-01

我正在使用的计数查询

Select count(A.order_id) from order A, size B, production E ........... where ....... and assign_date > 2013-08-01

我需要添加 if 条件以便我可以正确计算结果

加长版

我已经查看了 SO 上发布的问题,但找不到答案。我正在处理显示分页的页面。

对于分页,我使用了有效的计数。计数查询没有这种情况。

对于实际查询,我希望我可以在这里发布我的整个查询,但如果排序正确的话,它超过 200 行。

对于分页,我使用以下查询。

$strQuery = "SELECT COUNT(DISTINCT(A.order_id)) AS totalRecs FROM $tbls WHERE $whereClause $WhereExt";

$tbls$whereClause 很长。

orders 表中,我有 assing_on 日期字段,这表明订单已分配给某个生产订单。我已经根据数据创建了结果列表页面,并在 PHP 中添加了检查 assign_on 日期是否为空/null 的检查。如果是,我将运行另一个查询以获取估计的生产开始日期。

预计生产开始日期获取计算次数和参数的日期

  1. Orders.estimated delivery date(这是在发布订单时设置的)
  2. mustReadyDate = 预计日期 - 装运缓冲区(另一个表) - 供应商假期(另外 3 个表) - 供应商周末(另外 2 个表)
  3. 生产所需的总天数 = 订单总长度/每天标准编织率(另一表)
  4. muststartdate = mustReadyDate - totalDaysRequired;

以上四点都是在查询中,不涉及PHP工作

Data fetch query 有这个条件,count query 没有这个条件。

IF(
E.assign_date IS NOT NULL AND E.assign_date != '$mysqlEmptyDate',
DATE_FORMAT(E.assign_date , '" . reporting_DateFormat . "'),
($mustLoomStartDateQry_fm)
) AS assign_date,

我需要在 count 查询的 where 子句中再添加一个条件来检查 aasign_date > 一周后的今天 我只是想知道如何在 count 部分添加这么长的查询所以我仅在查询时执行。

** 编辑 **

如果有人有兴趣查看完整查询 http://pastebin.com/zqzbpEei但我向您提供此信息只是为了让您了解...

最佳答案

如果你需要分页,那么请试试这个......

$Query="select * from table_name_here where colunm_name='content_which_you_find'";

例如

$Query="select * from android where type='Casual'";

如果您不需要该条件,请删除它......

比如 $Query="select * from android";

现在使用这个执行上面的查询

$Result=mysql_query($Query);

现在使用这个获取选择的总行数

$TotalRows=mysql_num_rows($Result);

$onepage=9;

9以上改成你喜欢一页显示多少条记录

现在粘贴下面的代码来获取分页

$d=($page-1)*$onepage;
$SqlQuery="select * from android where type='Casual' order by id desc LIMIT $d, $onepage";
$ResultSql=mysql_query($SqlQuery) or die("error1?");

现在循环打印数据

while($row = mysql_fetch_array($ResultSql))
{
echo $row[1];
echo $row[2];
}

现在把代码放在下面

 for($i=1;$i<=$np;$i++)
{
echo "<a href='currnt_page_name_here.php?page=$i'> $i </a>";
}

如果有任何错误告诉我,现在试试这个

关于Mysql 依赖于 IF 条件下的嵌套内部查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17085244/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com