Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我的场景中需要正确的SQL语句_Mysql_.net_Vb.net - Fatal编程技术网

Mysql 我的场景中需要正确的SQL语句

Mysql 我的场景中需要正确的SQL语句,mysql,.net,vb.net,Mysql,.net,Vb.net,我的数据库中有我想要的结果时出现问题。我想从另一个表中提取总行数,在这个表中,它的条件将属于另一个表。为了清楚起见,下面是示例说明 >tblBus > >Bus ID ~ Day~ Type > >1000 | Monday | Public >2000|Monday | Private >3000|Tuesday| Public >4000|Monday | Public >tblReservation > >B

我的数据库中有我想要的结果时出现问题。我想从另一个表中提取总行数,在这个表中,它的条件将属于另一个表。为了清楚起见,下面是示例说明

>tblBus
>
>Bus ID ~ Day~ Type 
>
>1000 | Monday |  Public

>2000|Monday | Private

>3000|Tuesday| Public

>4000|Monday | Public


>tblReservation 
>
>Bus ID | Date

>1000   | 2013/3/4

>2000   | 2013/3/4

>3000   | 2013/3/6
假设预订日为周一,即2013年3月4日。。我想显示星期一可用的所有公交车,新的一行显示该公交车的预订总数

e、 g

可生成(其中日期为2013年3月4日,类型为Public,日期为星期一)


您可以使用以下命令将表连接到
总线id
上,然后获取保留计数:

select b.`bus id`,
  b.day,
  b.type,
  count(r.date) TotalNumberReservation
from tblBus b
inner join tblReservation r
  on b.`bus id` = r.`bus id`
where r.date = '2013-03-04'
  and b.day = 'Monday'
group by b.`bus id`, b.day, b.type

如果即使没有预订也要返回与正确日期匹配的所有行,则需要使用
左联接

select b.`bus id`,
  b.day,
  b.type,
  count(r.date) TotalNumberReservation
from tblBus b
left join tblReservation r
  on b.`bus id` = r.`bus id`
  AND r.date = '2013-03-04'
where b.day = 'Monday'
group by b.`bus id`, b.day, b.type

请参见

以下是生成所有公交车、天数和日期计数的基本查询,您可以根据需要进行筛选:

Select a.bus_id, day, type, count(*) as TotalNumberReservation
  from tblBus a
  join tblReservation b
    on a.busId=b.busId
 group by a.bus_id,day,type

加入
分组依据
&
计数
。编辑:它有一个问题,它仍然应该显示所有具有相同日期的总线。e、 g.所有公共汽车进站monday@DandeloDarkyCardona查看我的编辑,您需要使用
左连接
instead,我已经在我的系统上试用过了,它工作得非常完美!谢谢直到下一次^你真是个职业选手@DandeloDarkyCardona不客气!总是乐于帮助其他用户。
Select a.bus_id, day, type, count(*) as TotalNumberReservation
  from tblBus a
  join tblReservation b
    on a.busId=b.busId
 group by a.bus_id,day,type