Problem z zapytaniem
reclipser - 08-01-2007 00:25
Problem z zapytaniem
Witam,
mam tabele:
Nr_zaplaty | Kto_akceptowal | Data_akceptacji 001 | asystent | 2006-10-10 001 | szef | 2006-11-18 002 | asystent | 2006-11-15 003 | asystent | 2006-12-12 003 | szef | (NULL)
chce wyswietlic tylko te zaplaty i ich daty, które akceptowal asystent oraz ktorych nie akceptowal szef, albo w dacie akceptacji szefa jest NULL(np. 003) czyli w tym wypadku powinienem otrzymac tylko 2 wiersze:
002 | 2006-11-15 003 | 2006-12-12
probowalem podzapytan i nic, jedynie po case udalo mi sie otrzymac Nr_zaplaty | Data_akceptacji_asystent | Data_akceptacji_szef 001 | 2006-10-10 | ------------ 001 | -------------- | 2006-11-18 002 | 2006-11-15 | ------------ 003 | 2006-12-12 | ------------ 003 | -------------- | -----------
gdybym dla danego numeru zaplaty mial jeden wiersz, wtedy biore tylko te gdzie Data_akceptacji_szef is NULL i mam wynik.
Prosze o pomoc
Moza ma ktos jakis inny prostszy pomysł
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 08-01-2007 00:25
reclipser wrote: > Witam, > > mam tabele: > > Nr_zaplaty | Kto_akceptowal | Data_akceptacji > 001 | asystent | 2006-10-10 > 001 | szef | 2006-11-18 > 002 | asystent | 2006-11-15 > 003 | asystent | 2006-12-12 > 003 | szef | (NULL) > > chce wyswietlic tylko te zaplaty i ich daty, które akceptowal asystent > oraz ktorych nie akceptowal szef, albo w dacie akceptacji szefa jest > NULL(np. 003) > czyli w tym wypadku powinienem otrzymac tylko 2 wiersze: > > 002 | 2006-11-15 > 003 | 2006-12-12
Przecież to załatwia zwykły where do pierwszego zapytania.
-- P.M.
reclipser - 08-01-2007 00:25
A jaki dokladnie? Paweł Matejski napisał(a): > reclipser wrote: > > Witam, > > > > mam tabele: > > > > Nr_zaplaty | Kto_akceptowal | Data_akceptacji > > 001 | asystent | 2006-10-10 > > 001 | szef | 2006-11-18 > > 002 | asystent | 2006-11-15 > > 003 | asystent | 2006-12-12 > > 003 | szef | (NULL) > > > > chce wyswietlic tylko te zaplaty i ich daty, które akceptowal asystent > > oraz ktorych nie akceptowal szef, albo w dacie akceptacji szefa jest > > NULL(np. 003) > > czyli w tym wypadku powinienem otrzymac tylko 2 wiersze: > > > > 002 | 2006-11-15 > > 003 | 2006-12-12 > > Przecież to załatwia zwykły where do pierwszego zapytania. > > -- > P.M.
reclipser - 08-01-2007 00:25
Albo dostalem zaciemnienia kompletnego albo to nie jest takie proste... Prosze o pomoc. reclipser napisał(a): > A jaki dokladnie? > Paweł Matejski napisał(a): > > reclipser wrote: > > > Witam, > > > > > > mam tabele: > > > > > > Nr_zaplaty | Kto_akceptowal | Data_akceptacji > > > 001 | asystent | 2006-10-10 > > > 001 | szef | 2006-11-18 > > > 002 | asystent | 2006-11-15 > > > 003 | asystent | 2006-12-12 > > > 003 | szef | (NULL) > > > > > > chce wyswietlic tylko te zaplaty i ich daty, które akceptowal asystent > > > oraz ktorych nie akceptowal szef, albo w dacie akceptacji szefa jest > > > NULL(np. 003) > > > czyli w tym wypadku powinienem otrzymac tylko 2 wiersze: > > > > > > 002 | 2006-11-15 > > > 003 | 2006-12-12 > > > > Przecież to załatwia zwykły where do pierwszego zapytania. > > > > -- > > P.M.
reclipser - 08-01-2007 00:25
Odpowiedź:
SELECT id_zaplaty, kto_zaakceptowal, data_akceptacji
FROM tabela
WHERE (kto zaakceptowal LIKE 'asystent') AND (numer NOT IN
(SELECT numer
FROM tabela
WHERE (kto_zaakcaptowal LIKE 'szef)AND (data_akceptacji IS NOT NULL)) )
reclipser napisał(a): > Albo dostalem zaciemnienia kompletnego albo to nie jest takie proste... > Prosze o pomoc. > reclipser napisał(a): > > A jaki dokladnie? > > Paweł Matejski napisał(a): > > > reclipser wrote: > > > > Witam, > > > > > > > > mam tabele: > > > > > > > > Nr_zaplaty | Kto_akceptowal | Data_akceptacji > > > > 001 | asystent | 2006-10-10 > > > > 001 | szef | 2006-11-18 > > > > 002 | asystent | 2006-11-15 > > > > 003 | asystent | 2006-12-12 > > > > 003 | szef | (NULL) > > > > > > > > chce wyswietlic tylko te zaplaty i ich daty, które akceptowal asystent > > > > oraz ktorych nie akceptowal szef, albo w dacie akceptacji szefa jest > > > > NULL(np. 003) > > > > czyli w tym wypadku powinienem otrzymac tylko 2 wiersze: > > > > > > > > 002 | 2006-11-15 > > > > 003 | 2006-12-12 > > > > > > Przecież to załatwia zwykły where do pierwszego zapytania. > > > > > > -- > > > P.M.
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 08-01-2007 01:27
reclipser wrote:
Nie podałeś wcześnie żadnego zapytania, ani działającego dobrze ani źle - stąd posucha w odpowiedziach.
> Odpowiedź: > > SELECT id_zaplaty, kto_zaakceptowal, data_akceptacji > > FROM tabela > > WHERE (kto zaakceptowal LIKE 'asystent') AND (numer NOT IN > > (SELECT numer > > FROM tabela > > WHERE (kto_zaakcaptowal LIKE > 'szef)AND (data_akceptacji IS NOT NULL)) )
WHERE kto_zakceptował != 'szef' or data_akceptacji is null
-- P.M.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
=?ISO-8859-2?Q?Narz=EAdzie_do_budowania_zapyta=F1_SQL=2C?==?I SO-8859-2?Q?_PL/PgSQL=2C_PL/SQL=2C_T-SQL?=
[ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?=
mysql i mysql-front, problem
String line; if (line=="cos"){...}....problem
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
[postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?=
[oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?=
phpMyAdmin zadaje =?ISO-8859-2?Q?z=B3e_zapytania=2E=2E=2E_Dl?==?ISO-8859-2?Q?aczego=3F?=
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.pllubiatowo.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|