ďťż
 
[MySQL] Czy =?ISO-8859-2?Q?m=F3g=B3by_mi_kto=B6_pom=F3c_?==?ISO-8859-2?Q?przy_tym_zapytaniu_=3F?= ďťż
 
[MySQL] Czy =?ISO-8859-2?Q?m=F3g=B3by_mi_kto=B6_pom=F3c_?==?ISO-8859-2?Q?przy_tym_zapytaniu_=3F?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[MySQL] Czy =?ISO-8859-2?Q?m=F3g=B3by_mi_kto=B6_pom=F3c_?==?ISO-8859-2?Q?przy_tym_zapytaniu_=3F?=



sawic - 28-02-2007 00:07
[MySQL] Czy =?ISO-8859-2?Q?m=F3g=B3by_mi_kto=B6_pom=F3c_?==?ISO-8859-2?Q?przy_tym_zapytaniu_=3F?=
  Witam.

Mam takie tabele:

t1:
idT1 - int
opis - varchar(250)
stan - smallint

t2:
idT2 - int
user - char(20)

Zawartość:

t1:
idT1 | opis | stan
-----------------
1 | opis1 | 0
2 | opis2 | 1
3 | opis3 | 1

t2:
idT2 | user
-----------
1 | user2
2 | user1
2 | user2
3 | user2

Dla konkretnego użytkownika (user) chcę wyciągnąć te wartości tb1.idT1 i
tb1.opis, które to tb1.idT1 nie występuje w t2. (przy założeniu tb1.stan
= '1')
Czyli w wyniku tego zapytania dla user = 'user2' powinienem otrzymać
jeden wynik: idT1 = 3 i opis = opis3

Próbowałem coś takiego:

select t1.id, t1.opis from tb.t1 left join tb.t2 on t1.idT1 = t2.idT2
where t1.stan = '1' and t2.idT2 is null

I to działa, ale dla jakiegkolwiek braku wystąpienia t1.idT1 = t2.idT2.
A ja chciałbym uzyskać te t1.idT1 które nie występuje dla konkretnej
pary idT2, user w t2.

Troche zakręciłem, ale prościej jakoś nie umiem wytłumaczyć.
Mam nadzieję, że ktoś zrozumie o co mi chodziło.

Pozdrawiam





sawic - 28-02-2007 00:07

  sawic napisał(a):
> Czyli w wyniku tego zapytania dla user = 'user2' powinienem otrzymać
> jeden wynik: idT1 = 3 i opis = opis3

*mała poprawka.
Powyższy tekst powinien wyglądać:

Czyli w wyniku tego zapytania dla user = *'user1'* powinienem otrzymać
jeden wynik: idT1 = 3 i opis = opis3




Cezary Zylbersztajn - 01-03-2007 00:00
=?iso-8859-2?Q?Re[2]:_[MySQL]_Czy_m=F3g=B3by_mi_kto=B6_pom=F3c_przy_tym_zapytan iu_=3F?=
  Witaj sawic!

> Czyli w wyniku tego zapytania dla user = *'user1'* powinienem otrzymać
> jeden wynik: idT1 = 3 i opis = opis3
W Oracle zadziałało takie cudo.

SELECT t1.* FROM t1
WHERE t1.stan = 1
AND NOT EXISTS (SELECT * FROM t2
WHERE t2.idt2 = t1.idt1
AND t2.user = 'user1'
)

--
podpisal Cezary Zylbersztajn; Data: 28 lutego 2007 08:32:31

GCS/IT d- s: a C+ UU U++ L+ W+ N+ K- w+ M-- PS--- PE PGP
t- 5- X-- R tv b++ DI++ D+ G e++() h---() r+++ z+++

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych




sawic - 01-03-2007 00:00

  Cezary Zylbersztajn napisał(a):
> W Oracle zadziałało takie cudo.
>
> SELECT t1.* FROM t1
> WHERE t1.stan = 1
> AND NOT EXISTS (SELECT * FROM t2
> WHERE t2.idt2 = t1.idt1
> AND t2.user = 'user1'
> )
>

Wielkie dzięki !
Działa.

Nie byłem nawet świadom istnienia takiej komendy.

Pozdrawiam
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Gdzie MySQL 4.1, a gdzie 5.0? [MS SQL] "set names" (mySQL) w MS SQL oracle -> oracle lub oracle -> mysql replikacja - programy [MySQL] Zwrot tego, co pasuje i nie pasuje :-/ [pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1 [mysql] galeria zdjec - numerowanie zdjec [mysql] CONCAT agregujący, ale nie GROUP_CONCAT() mysql data 0000-00-00 na koniec [MySQL] Problem z zapisem danych w bazie danych jak przenieesc czesc tabeli do innej tabeli MySQL
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • red-hacjenda.opx.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com