Prikazi cijelu temu 10.06.2020 09:37
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Lokacija:zagreb


Predmet:Re: SQL upiti
Citiraj Gjoreski:
PreuzmiIzvorni kôd (SQL):
  1. SELECT r1.DATE, e1.id_employees, r1.id_department, s1.id_office, s1.startTime
  2. FROM tbl_schedule AS r1
  3. INNER JOIN tbl_calendar AS k1 ON r1.DATE = k1.DATE
  4. LEFT JOIN tbl_citydepartmentoffice AS s1 ON (k1.id_cityDepartmentOffice = s1.Id_cityDeparmentOffice AND r1.id_department = s1.id_department)
  5. INNER JOIN tbl_employees AS e1 ON r1.id_employees=e1.id_employees
  6. INNER JOIN (
  7.     SELECT ra1.DATE, ea1.id_employees, ra1.id_department, sa1.id_office, sa1.startTime
  8.     FROM tbl_schedule AS ra1
  9.     INNER JOIN tbl_calendar AS ka1 ON ra1.DATE = ka1.DATE
  10.     LEFT JOIN tbl_citydepartmentoffice AS sa1 ON (ka1.id_cityDepartmentOffice = sa1.Id_cityDeparmentOffice AND ra1.id_department = sa1.id_department)
  11.     INNER JOIN tbl_employees AS ea1 ON ra1.id_employees=ea1.id_employees
  12.     WHERE ea1.id_employees=1001) tUs
  13. ON r1.DATE=tUs.DATE AND s1.id_office=tUs.id_office
  14.  
  15. UNION ALL
  16.  
  17. SELECT r1.DATE, e1.id_employees, r1.id_department, s1.id_office, s1.startTime
  18. FROM tbl_schedule AS r1
  19. INNER JOIN tbl_calendar AS k1 ON r1.DATE = k1.DATE
  20. LEFT JOIN tbl_citydepartmentoffice AS s1 ON (k1.id_cityDepartmentOffice = s1.Id_cityDeparmentOffice AND r1.id_department = s1.id_department)
  21. INNER JOIN tbl_employees AS e1 ON r1.id_employees=e1.id_employees
  22. INNER JOIN (
  23.     SELECT ra1.DATE, ea1.id_employees, ra1.id_department, sa1.id_office, sa1.startTime
  24.     FROM tbl_schedule AS ra1
  25.     INNER JOIN tbl_calendar AS ka1 ON ra1.DATE = ka1.DATE
  26.     LEFT JOIN tbl_citydepartmentoffice AS sa1 ON (ka1.id_cityDepartmentOffice = sa1.Id_cityDeparmentOffice AND ra1.id_department = sa1.id_department)
  27.     INNER JOIN tbl_employees AS ea1 ON ra1.id_employees=ea1.id_employees
  28.     WHERE ea1.id_employees=1001) tUs
  29. ON r1.DATE=tUs.DATE AND e1.id_employees=tUs.id_employees
  30. WHERE ISNULL(s1.id_office) ;

čudno mi je radio ovaj sql, nakon Å¡to sam ga pokrenuo on se izvrÅ¡io i dao mi mogučnost editiranja i promjena , a očekivao sam samo rezultat. Evo Å¡to sam dobio:
Full textsdateid_employeesid_departmentid_officestartTime
    Edit EditCopy CopyDelete Delete2020-06-01100110
    Edit EditCopy CopyDelete Delete2020-06-021001630
    Edit EditCopy CopyDelete Delete2020-06-031001330
    Edit EditCopy CopyDelete Delete2020-06-04100130
    Edit EditCopy CopyDelete Delete2020-06-051001620
    Edit EditCopy CopyDelete Delete2020-06-061001320
    Edit EditCopy CopyDelete Delete2020-06-011002310
    Edit EditCopy CopyDelete Delete2020-06-031002630
    Edit EditCopy CopyDelete Delete2020-06-041002330
    Edit EditCopy CopyDelete Delete2020-06-011003610
    Edit EditCopy CopyDelete Delete2020-06-041003630
    Edit EditCopy CopyDelete Delete2020-06-02100830
    Edit EditCopy CopyDelete Delete2020-06-05100820
    Edit EditCopy CopyDelete Delete2020-06-021009330
    Edit EditCopy CopyDelete Delete2020-06-03100930
    Edit EditCopy CopyDelete Delete2020-06-051009320
    Edit EditCopy CopyDelete Delete2020-06-06100920
    Edit EditCopy CopyDelete Delete2020-06-071001FD

nažalost, nije točno.

Citiraj zxz:
Ti trazis ovo rjesenje ali ovo rjesenje nije tacno po meni.
PreuzmiIzvorni kôd (Text):
  1. SELECT  rv.Date
  2. ,rv.id_employees
  3. ,r.name
  4.  
  5. ,rv.id_department
  6. ,o.id_office
  7. ,o.startTime
  8. FROM tbl_schedule as rv
  9. INNER JOIN tbl_employees  as r ON rv.id_employees=r.id_employees
  10. INNER JOIN tbl_calendar as k   ON k.date=rv.date
  11. INNER JOIN tbl_citydepartmentoffice as o   ON o.Id_cityDeparmentOffice=k.id_cityDepartmentOffice
  12. AND rv.id_department=o.id_department
  13. WHERE  CONCAT(o.id_office,rv.Date)
  14. IN (SELECT CONCAT(o.id_office,rv.Date) as kljuc
  15. FROM tbl_schedule as rv
  16. INNER JOIN tbl_citydepartmentoffice as o   ON rv.id_department=o.id_department
  17. WHERE rv.id_employees=1001
  18. )
  19. AND
  20. rv.id_employees<>1001

evo zasto nije tacno.
grad
---------
id grad
id kancelarija
id zgrada

kancelarija jeste ista ali nije u istom gradu i u istoj zgradi-

Dodao sam na kraj ORDER BY rv.date ASC.
Ovaj upit napravi dobro ali izostavi 1001
evo rezultat:

Dateid_employeesnameid_departmentid_officestartTime
2020-06-011002Luka310111:00:00
2020-06-011003Marko610117:00:00
2020-06-021008Ahmed30306:00:00
2020-06-021009Aleksandar330312:00:00
2020-06-031002Luka630318:00:00
2020-06-031009Aleksandar30306:00:00
2020-06-041002Luka330312:00:00
2020-06-041003Marko630318:00:00
2020-06-051008Ahmed20205:30:00
2020-06-051009Aleksandar320211:30:00
2020-06-061009Aleksandar20209:00:00

zivot je moja domovina.