表结构...

方案主管

book     receipt     coupon    created
 100       700       1200      12-03-2015
 100       700       1201      12-03-2015
 100       700       1202      12-03-2015
 100       701       1203      12-03-2015
 100       701       1204      12-03-2015
 100       701       1205      12-03-2015

图书发行表

  book_no    Alloted_city    issue_date   
  100         nagpur         15-03-2015
  100         nagpur         18-03-2015

Book_return表

 book     surveyor     used_receipt    city
 1000       raj          700           nagpur

以下是我的预期输出。

 book      printeddate    issuedate   balancereceipt  allcoupon        city
 100       12-03-2015     15-03-2015     701         1203,1204,1205    nagpur

以下是我的sql查询。

这很好..但是只需要4到5分钟即可执行50到80行...请帮助我优化以下查询...

SELECT DISTINCT BI.book_no AS book,BI.issue_date As Issuedate,BI.Alloted_city As city,SM.created AS PrintedDate,
     SM.receipt_no as AllReceipt,GROUP_CONCAT(DISTINCT SM.coupon ORDER BY coupon ASC) As Allcoupon FROM book_issue BI LEFT JOIN scheme_master SM ON SM.book_no2=BI.book_no WHERE SM.receipt_no NOT IN (select used_receipt from book_return) AND BI.Alloted_city = :cityname AND BI.book_no BETWEEN :book_no AND :book2 GROUP BY SM.receipt_no order by SM.receipt_no ASC

#1楼 票数:0

这样使用,在没有条件的情况下添加where子句,

SELECT DISTINCT BI.book_no AS book,BI.issue_date As Issuedate,BI.Alloted_city As city,SM.created AS PrintedDate,
 SM.receipt_no as AllReceipt,GROUP_CONCAT(DISTINCT SM.coupon ORDER BY coupon ASC) As Allcoupon 
FROM book_issue BI 
LEFT JOIN scheme_master SM ON SM.book_no2=BI.book_no 
WHERE SM.receipt_no NOT IN (select used_receipt from book_return where used_receipt = SM.receipt_no) 
AND BI.Alloted_city = :cityname AND BI.book_no BETWEEN :book_no AND :book2 
GROUP BY SM.receipt_no order by SM.receipt_no ASC

  ask by payal dubey translate from so

未解决问题?本站智能推荐:

2回复

来自table1的mysql查询链接,该链接在table2和table3中不存在

我想进行一个MySQL查询,该查询从table1获取链接,并检查该链接是否存在于table2和table3中。 现在我正在执行2个查询,但是我想将2个查询合并为1个,并保证返回10个结果? (当前第一个之后,如果mysql_num_rows($ rez)> 0,则返回结果将小于10)
2回复

如何返回table1中的行不存在于la2中的table2中

我尝试在laravel中使用join表 role_user表具有roles_id和user_id列的角色表具有id和角色的名称,用户表具有id和用户的名称 但似乎'!='不起作用我尝试使用'='并且它正常工作当我试图使用'='时没有结果 我也试过了 但它显示了user_role和
1回复

SQL查询优化-执行时间

我正在执行以下查询,这花了我2秒钟的时间来执行,现在大约需要10分钟,因为我在表custom_redemptions中增加了100个条目,而在其他表中又增加了大约10个条目。 随着DISTINCT它使我返回 我拿出DISTINCT跟踪该错误,它返回了我 有什么办法可以优化这个?
2回复

Mysql/PHP在一个查询中选择Table1或Table2中存在的行

希望您能对我有所帮助:我正在php / mysql中进行开发,并且陷入了该sql问题。 我有3个表,其中包含一些字段:Table1,Table2和Table3。让我们举个例子: 表/字段Table1.Id Table2.Id Table3.Id 因此,我需要在一个查询(SELECT)中
1回复

如何通过PHP从table1的ID中提取数据并将其放入table2的FOREIGNKEY中

因此,评论系统有效,我尝试放置不同的articlecID,并为特定文章添加了评论。 现在,我想在添加注释时对它自己发布的“ Microsoft”文章说,而无需在查询中添加ID。 如果您不了解我要做什么,可以说我想隐式而不是显式地执行此操作: 现在,我想在查询中使用“ $ articlec
2回复

在table1中删除行时在table2中插入行

如何在Yii中执行以下操作: 我有以下4表: 我想要实现这一目标:删除课程时,我想找到所有已注册此课程的参与者(在“注册”表中)并将其放入“池”表中。 我怎样才能做到这一点? 请帮忙
2回复

根据table1中的值从table2中选择行

我试图从一个表中检索数据,我想从一个表中获取所有行,其中一个列可能是多个值,即 表格1 因此,在表中,一个Ali拥有站点6,7,8,而jack仅有站点20。 现在我有另一张桌子 表2 我想从表2中选择数据,其中SiteID是Ali拥有的站点,即Ali拥有SiteID的6,7,8
4回复

联接查询:如何将联接table2中的结果作为table1中的数组返回

我需要显示一篇文章列表,其中包含每篇文章对应的全套标签。 我试图做这个查询: 但是,对于每个标签,该查询从表articles返回同一行的次数与标签的返回次数相同。 像这样: 有没有一种方法可以为每个文章在数组中返回tag_name? 看起来像这样: