• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Podzapytania w SQL

Object Storage Arubacloud
0 głosów
289 wizyt
pytanie zadane 8 maja 2022 w SQL, bazy danych przez Blds Użytkownik (830 p.)

Czy można połączyć zapytanie SELECT z UPDATE?

Chciałbym zsumować sprzedaż pracowników po nazwisku i produkcie i dla osoby z najwyzszym wynikiem dopisać do nazwiska Lider. Czy ponizsze zapytanie składniowo jest ok? Można to zamknąć w SELECTcie?

UPDATE pracownicy SET nazwisko=nazwisko+"lider" GROUP BY nazwisko, produkt ORDER BY sum(saldo_w_pln) DESC LIMIT 1

 

1 odpowiedź

+2 głosów
odpowiedź 8 maja 2022 przez Wiciorny Ekspert (269,710 p.)

To co napisałeś jest awykonalne, u Ciebie nie ma selekta, więc generalnie nie możesz updateować czegoś jednocześnie to grupując, i sortując. Natomiast mozesz dane zupdateować jeśli grupowanie i sortowanie zamkniesz dla selekta w danych. i będzie to równe temu na co wskazuje kolumna w update czyli u Ciebie równe nazwisku. 
Można ale tylko jeśli UPDATE jest na bazie selecta a nie odwrotnie. 

Przykład: 
 

UPDATE Per
SET 
Per.PersonCityName=Addr.City, 
Per.PersonPostCode=Addr.PostCode
FROM Persons Per
INNER JOIN
AddressList Addr
ON Per.PersonId = Addr.PersonId

lub
 

UPDATE tableA SET validation_check = 
    (SELECT if(start_DTS > end_DTS, 'VALID', '') AS validation_check
        FROM tableA
        INNER JOIN tableB ON name_A = name_B
        WHERE id_A = tableA.id_A)

 

komentarz 13 maja 2022 przez Blds Użytkownik (830 p.)
A jak można updatować napis w rekordzie tak żęby zachować jego oryginalną wartość i dodać jakiś napis?
komentarz 13 maja 2022 przez Wiciorny Ekspert (269,710 p.)

zastosować CONCAT np. nie jest to wydajne, ale można albo replace zrobić i nadpisac stara wartośc z wartością "nową", albo dołączyć 

UPDATE tabela SET twoj_rekord = CONCAT(twoj_rekord, 'nowe_slowo') WHERE id = jakies_id;

 

Podobne pytania

0 głosów
1 odpowiedź 1,227 wizyt
pytanie zadane 11 listopada 2017 w SQL, bazy danych przez Apocalipto Nowicjusz (120 p.)
+1 głos
1 odpowiedź 467 wizyt
pytanie zadane 20 listopada 2016 w SQL, bazy danych przez MlodyJavaS Użytkownik (500 p.)
+1 głos
0 odpowiedzi 173 wizyt
pytanie zadane 3 sierpnia 2017 w SQL, bazy danych przez raf123 Nowicjusz (130 p.)

92,556 zapytań

141,404 odpowiedzi

319,563 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...