Autor | Zpráva | ||
---|---|---|---|
DSL Profil * |
#1 · Zasláno: 18. 6. 2015, 16:01:15
Ahoj, potřeboval bych poradit. ten titulek je možná trochu zavádějící, ale nevěděl jsem jak jinak to vysvětlit.
Mám následující databázi: pacienti(rc, jmeno, prijmeni) pacienti_lekari(rc, lekar_jmeno, lekar_prijmeni, specializace) a data: pacienti_lekari: 11, pepa, dvorak, orl 12, karel, novak, chirurg, 11, karel, novak, chirurg a chci dotaz, který mi vypíše pouze pacienty, kteří nikdy nebyli na orl: select rc, jmeno, prijmeni from pacienti_lekari as pl join pacienti as p on p.rc = pl.rc where pl.specializace != 'orl' děkuji za radu. |
||
Kajman Profil |
#2 · Zasláno: 18. 6. 2015, 16:22:42
Např. přes outer join...
select rc, jmeno, prijmeni from pacienti_lekari as pl right join pacienti as p on p.rc = pl.rc and pl.specializace = 'orl' where pl.rc is null |
||
DSL Profil * |
#3 · Zasláno: 18. 6. 2015, 16:31:54
díky funguje to. a kdybych chtěl pouze pacienty kteří nebyly na orl a u ortopeda, jak by to vypadalo? zkoušel jsem
select rc, jmeno, prijmeni from pacienti_lekari as pl right join pacienti as p on p.rc = pl.rc and (pl.specializace = 'orl' or pl.specializace='ortoped') where pl.rc is null |
||
Taps Profil |
#4 · Zasláno: 18. 6. 2015, 16:58:14
DSL:
select rc, jmeno, prijmeni from pacienti_lekari as pl right join pacienti as p on p.rc = pl.rc and (pl.specializace != 'orl' or pl.specializace !='ortoped') where pl.rc is null |
||
Kajman Profil |
#5 · Zasláno: 19. 6. 2015, 00:19:57
DSL:
Ten dotaz z [#3] vypadá korektně (pokud pacienti nesměli být ani u jednoho z nich). Pokud to nic nevypíše, možná takový pacient není. Taps: To nebude ono. |
||
Časová prodleva: 10 let
|
0