Mysql
 sql >> база данни >  >> RDS >> Mysql

как да използвам sql join в mysql

    select tu.mr_fname, tu.mr_lname, count(ts.mr_id) as `count` 
from tbl_user tu 
inner join tbl_schedule ts on ts.mr_id = tu.mr_id and 
      ts.sch_date between '2012-01-01' and '2012-08-01' 
group by tu.mr_id

Горното ще ви предостави всички потребители с ред в графика. Така че потребителите с брой 0 няма да се покажат.

select tu.mr_fname, tu.mr_lname, count(ts.mr_id) as `count` 
from tbl_user tu 
left join tbl_schedule ts on ts.mr_id = tu.mr_id and 
      ts.sch_date between '2012-01-01' and '2012-08-01' 
group by tu.mr_id

Тази заявка ще избере собственото и фамилното име на потребителя и ще преброи колко пъти този потребителски идентификатор се появява в таблицата с графика.

Това прави чрез групиране по потребителския идентификатор.

Освен това използва ляво присъединяване въз основа на потребителски идентификатор и дата. Важно е да поставите условието за дата тук, за да бъдат избрани всички потребители. Това е така, защото лявото присъединяване ще включва всички потребители, които също не съвпадат. Но ако поставите това в клаузата where, всички потребители няма да бъдат избрани. С други думи, няма да получите нула за 'gerry chandan', ако поставите условието за дата в клаузата where. Вместо това той щеше да бъде изключен от резултатите.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създам тази структура на масива в HTML форма?

  2. MySQL - съхранената процедура връща неочаквана стойност

  3. MySql:ПОРЪЧАЙТЕ ПО родител и дете

  4. Някой знае ли значението зад това съобщение за грешка в php?

  5. MySQL целочисленото сравнение игнорира последващите алфа знаци