Avko |
02.06.2020 10:06 |
Predmet:SQL upiti
Pronadi sve zaposlenike koji zive u istoj ulici kao i Vasko
PreuzmiIzvorni kôd (Text):CREATE TABLE `zaposlenici` (
`id` int(11) NOT NULL,
`ime` text NOT NULL,
`adresa` text NOT NULL,
`grad` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `zaposlenici` (`id`, `ime`, `adresa`, `grad`) VALUES
(1, 'Vasko', 'Vardarska', 'Zagreb'),
(2, 'Luka', 'Osijecka', 'Zagreb'),
(3, 'Marko', 'Zagorska', 'Zagreb'),
(4, 'Ivan', 'Osijecka', 'Zagreb'),
(5, 'Marta', 'Zagrebacka', 'Zagreb'),
(6, 'Smiljan', 'Vardarska', 'Zagreb'),
(7, 'Mitar', 'Zagorska', 'Zagreb'),
(8, 'Ahmed', 'Vardarska', 'Zagreb');
ALTER TABLE `zaposlenici`
ADD PRIMARY KEY (`id`);
|
Avko |
02.06.2020 10:07 |
Predmet:Re: SQL upiti
Citiraj Gjoreski:PreuzmiIzvorni kôd (SQL):SELECT * FROM tblKorisnik
WHERE kMesto IN (SELECT kMesto FROM tblKorisnik WHERE ID_Korisnik = 28 )
OVO CE RADITI SAMO AKO JE ULICA NAPISANA U SVA REDOVA IDENTICNO
PreuzmiIzvorni kôd (SQL):SELECT * FROM tblKorisnik
WHERE kAdresa LIKE '%' + LEFT((SELECT kAdresa FROM tblKorisnik WHERE ID_Korisnik = 32 ),6) + '%'
|
Avko |
02.06.2020 10:14 |
Predmet:Re: SQL upiti
SELECT * FROM zaposlenici
WHERE adresa IN (SELECT adresa FROM zaposlenici WHERE id = 1 )
rezultat:
1 Vasko Vardarska Zagreb
6 Smiljan Vardarska Zagreb
8 Ahmed Vardarska Zagreb |
Avko |
02.06.2020 10:16 |
Predmet:Re: SQL upiti
U nekoj knjiznici imamo knjige po ID
knjige | | posudivanje | | clanovi |
---|
ID knjige | | id knjige | | id clana | naslov knjige | | datum | | ime | autor knjige | | id clana | | adresa |
U 8:00 neki čovjek uzima knjigu iz knjižnice i vraća ju u 11:00.
Tu istu knjigu uzima Vasko svaki dan točno u 12:00 i vraća ju u knjižnicu u 18:00.
U 18:00 tu istu knjigu uzima neki treći čovjek i vraća ju sutradan ujutro u 8:00.
Policija misli da knjige služe tajnoj organizaciji za razmjenu važnih podataka.
Treba naći ljude koji su posudivali istu knjigu (ID knjige) istoga datuma kada i Vasko. |
Gjoreski |
02.06.2020 11:42 |
Predmet:Re: SQL upiti
Ovo tvoje zadnje pitajne je sasvim nejasno .
Postavi tabela i reci sta zelis da se izvuce |
Avko |
02.06.2020 12:53 |
Predmet:Re: SQL upiti
tblKnjige
------------
id
naslov
autor
tblPosudivanje
------------------
datum
idKnjige
idClan
tblClanovi
-------------
id
ime
adresa
Svi clanovi koji su posudili istu knjigu kao i Vasko i istog datuma |
Avko |
02.06.2020 23:43 |
Predmet:Re: SQL upiti
evo ja sam danas cijeli dan trazio jedan hebeni upit i nisam ga rijesio.
uspio sam samo za jedan dan, neznam kako za sve dane.
evo sto sam ja napravio:
PreuzmiIzvorni kôd (Text):SELECT *
FROM posudivanje AS p
INNER JOIN knjige AS k ON p.idKnjiga=k.id
INNER JOIN zaposlenici AS z ON p.idClan=z.id
WHERE p.datum='2020-06-02'
AND k.id=(SELECT p1.idKnjiga
FROM posudivanje AS p1
WHERE p1.idClan='1' AND p1.datum='2020-06-02')
moram priznati da me je i malo iznerviralo.
Puno sam trazio po internetu no nalazio sam samo jednostavne primjere. |
Gjoreski |
04.06.2020 10:54 |
Predmet:Re: SQL upiti
PreuzmiIzvorni kôd (SQL):SELECT B.datum,Naslov,Ime
FROM tblPosudivanje A
INNER JOIN tblPosudivanje B ON A.Datum=B.Datum AND A.idKnjige=B.idKnjige
INNER JOIN tblKnjige ON tblKnjige.ID=B.idKnjige
INNER JOIN tblClanovi ON tblClanovi.ID=B.idClan
WHERE A.idClan=1
|
Avko |
04.06.2020 15:11 |
Predmet:Re: SQL upiti
Gjoreski, ovo radi savršeno.
Hvala |
Avko |
05.06.2020 18:53 |
Predmet:Re: SQL upiti
sada sa 4 tbl
tblCalendar
---------------
Date
IdCityDepartmentOffice
tblEmployees
-----------------
IdEmployees
Name
Adress
Phone
Email
tblSchedule
---------------
IdEmployees
IdDepartment
Date
tblCityDepartmentOffice
-------------------------------
IdCityDepartmentOffice
IdDepartment
IdOffice
StartTime
DATA
schedule-Å¡ema=>ovo nije tabla samo da se vidi kako funkcionira | IdDepartment | 10 | 310 | 610 | 20 | 320 | 620 | 30 | 330 | 630 |
tblSchedule | Id employees | 1001 | 1001 | 1001 | 1001 | 1001 | 1001 | 1001 | 1002 | 1002 | 1002 | 1002 | 1002 | 1002 | 1002 | 1003 | 1003 | 1003 | 1003 | 1003 | 1003 | 1003 | 1004 | 1004 | 1004 | 1004 | 1004 | 1004 | 1004 | 1005 | 1005 | 1005 | 1005 | 1005 | 1005 | 1005 | 1006 | 1006 | 1006 | 1006 | 1006 | 1006 | 1006 | 1007 | 1007 | 1007 | 1007 | 1007 | 1007 | 1007 | 1008 | 1008 | 1008 | 1008 | 1008 | 1008 | 1008 | 1009 | 1009 | 1009 | 1009 | 1009 | 1009 | 1009 |
tblCalendar | date | 1.6. | 2.6. | 3.6. | 4.6. | 5.6. | 6.6. | 7.6. |
Employees | Id employees | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 | 1009 |
tblCityDepartmentOffice | IdCityDepartmentOffice | 0106 | 0106 | 0106 | 0106 | 0106 | 0106 | 0106 | 0106 | 0106 | 0606 | 0606 | 0606 | 0606 | 0606 | 0706 | 0706 | 0706 |
U kojoj kancelariji (office) je radio Vasko?
PreuzmiIzvorni kôd (Text):SELECT r1.date, e1.id_employees, r1.id_department, s1.id_office, s1.startTime
FROM tbl_schedule as r1
INNER JOIN tbl_calendar AS k1 ON r1.date = k1.date
INNER JOIN tbl_citydepartmentoffice AS s1 ON (k1.id_cityDepartmentOffice = s1.Id_cityDeparmentOffice AND r1.id_department = s1.id_department)
INNER JOIN tbl_employees AS e1 ON r1.id_employees=e1.id_employees
WHERE r1.date = DATE('2020-06-01')
AND s1.id_office =(SELECT s2.id_office
FROM tbl_schedule as r2
INNER JOIN tbl_calendar AS k2 ON r2.date = k2.date
INNER JOIN tbl_citydepartmentoffice AS s2 ON (k2.id_cityDepartmentOffice = s2.Id_cityDeparmentOffice AND r2.id_department = s2.id_department)
INNER JOIN tbl_employees AS e2 ON r2.id_employees=e2.id_employees
WHERE r2.id_employees='1001' AND r2.date = DATE('2020-06-01'))
rezultat:
date | id_employees | id_department | id_office | startTime | | 2020-06-01 | 1001 | 10 | 1 | 05:00:00 | | 2020-06-01 | 1002 | 310 | 1 | 11:00:00 | | 2020-06-01 | 1003 | 610 | 1 | 17:00:00 | |
Pitanje:
Treba napisati upit: tko je sve radio sa Vaskom u kancelariji?
rezultat bi trebao pokazati:
date | id_employees | id_department | id_office | startTime | | 2020-06-01 | 1001 | 10 | 1 | 05:00:00 | | 2020-06-01 | 1002 | 310 | 1 | 11:00:00 | | 2020-06-01 | 1003 | 610 | 1 | 17:00:00 | | 2020-06-02 | 1003 | 30 | 3 | 06:00:00 | | 2020-06-02 | 1008 | 330 | 3 | 12:00:00 | | 2020-06-02 | 1009 | 630 | 3 | 18:00:00 | | 2020-06-03 | 1009 | 30 | 3 | 06:00:00 | | 2020-06-03 | 1001 | 330 | 3 | 12:00:00 | | 2020-06-03 | 1002 | 630 | 3 | 18:00:00 | | 2020-06-04 | 1001 | 30 | 3 | 06:00:00 | | 2020-06-04 | 1002 | 330 | 3 | 12:00:00 | | 2020-06-04 | 1003 | 630 | 3 | 18:00:00 | | 2020-06-05 | 1008 | 20 | 2 | 05:30:00 | | 2020-06-05 | 1009 | 320 | 2 | 11:30:00 | | 2020-06-05 | 1001 | 620 | 2 | 17:30:00 | | 2020-06-06 | 1009 | 20 | 2 | 09:00:00 | | 2020-06-06 | 1001 | 320 | 2 | 15:00:00 | | 2020-06-07 | 1001 | FD | null | null | | |