|
Poslao: 02 Jul 2014 21:13
|
offline
- MilosKS91

- Ugledni građanin
- Pridružio: 01 Apr 2011
- Poruke: 321
|
Potrebna mi je SQL komanda za brisanje red sa najvećom cenom?
Jel može neko da mi pomogne.
|
|
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 02 Jul 2014 21:31
|
offline
- vasa.93

- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14828
- Gde živiš: Niš
|
Napisano: 02 Jul 2014 21:29
DELETE FROM <ime_tabele>
WHERE CENA = (SELECT MAX(CENA) FROM <ime_tabele>);
Dopuna: 02 Jul 2014 21:31
Ova naredba briše sve vrste čija je cena jednaka maksimalnoj ceni. Dakle, ukoliko ima više takvih vrsta, briše ih sve.
|
|
|
|
|
|
|
Poslao: 02 Jul 2014 22:44
|
offline
- MilosKS91

- Ugledni građanin
- Pridružio: 01 Apr 2011
- Poruke: 321
|
Vraća mi ovo:
#1093 - You can't specify target table 'ARTIKLI' for update in FROM clause
Brišem maximalnu vrednost iz ove tabele
Fali ' ' iza Where i radi.
Hvala
|
|
|
|
|
|
|
Poslao: 02 Jul 2014 22:54
|
offline
- Srki_82

- Moderator foruma
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Može ovo i mnogo lepše da se napiše Koja baza je u pitanju?
|
|
|
|
|
|
|
|
|
|
|
Poslao: 03 Jul 2014 00:15
|
offline
- Srki_82

- Moderator foruma
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Ne kažem da ne radi dobro, samo da je moglo elegantnije da se napiše Pošto još uvek ne znamo koji SQL server je u pitanju, napisaću kako bi to moglo da se uradi recimo na MS SQL-u:
with q as (
select top 1 * from artikli order by cena desc
)
delete from q
Na ovaj način se vrši samo jedan zahtev do tabele i to tek kad se bude izvršila delete komanda.
|
|
|
|
|
|