Kezdőoldal » Számítástechnika » Programok » MS SQL Serverben hogyan...

MS SQL Serverben hogyan lehetne megoldani az alábbit?

Figyelt kérdés

Egy vállalkozásos adatbázissal dolgozom, és lehet egy vállalkozás többször is az adatbázisban, ezt próbálom kiszűrögetni, és inaktiválni az egyiket. Ezt simán rákeresek két ID-ra (elsődleges kulcs), WHERE (dbID IN (8483, 205)) és csekkolom. Viszont, ha teszem azt 20 ID-t írok ide, akkor szépen 20 vállalkozást kilistáz, viszont dbID alapján növekvő sorrendbe teszi (helyesen), de nekem úgy lenne jó, hogy amilyen beviteli sorrendben én írtam az ID-kat, mert vélhetően azok lesznek duplikációk, így mindig egymás alatt lennének a kívánt elemek. Most egy gagyi megoldással csinálom, hogy teszek még a végére egy ORDER BY dbNEV DESC-et, így úgy ahogy egymás alatt lesznek a kívánt tételek, úgy 90%-os hatékonysággal.


Viszont a vállalkozások neve is eltérhet, és ha eltér, akkor nyilván totál más helyre kerül, teszem azt XY cég, és "XY cég", ettől felborul a jó sorrend. Szóval lehet ráerőltetni ezt, hogy abban a sorrendben listázza, ahogy az egymás után következik?



2021. márc. 30. 08:54
 1/4 anonim ***** válasza:

Szia!


Keress rá a GROUP BY-ra. ez listáz minden olyan találatot ami duplikálva van. Én rányomnám az adószámra. Az egy vállalkozás esetén azonos.


SELECT * FROM vallalkozasok WHERE 1 GROUP BY adoszam;

2021. márc. 30. 09:00
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Hopsz most nézem hogy MS SQL.

Akkor a fentebb írt kódrészlet helyett próbáld inkább ezzel.


[link]

2021. márc. 30. 09:07
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
Köszi szépen, nem rossz megoldás ez sem. :) Igaz, az adatábzisban ugyan az az adószám nem lehet, az is kulcs, mert lényegében az adószám is egyedi azonosító, de akár e-mail/teló/összefűzött irsz+város+cím is lehetne így jó megoldás group by-jal.
2021. márc. 30. 09:12
 4/4 anonim ***** válasza:
Igen, de rosszul írja, a GROUP BY csak annyit csinál, hogy csoportosítja a rekordokat. Ebben még semmilyen szűrés nincs arra vonatkozóan, hogy a duplikátumokat kiadja. Ahhoz még kell egy HAVING feltétel, a legegyszerűbb: COUNT(*) > 1
2021. márc. 30. 11:48
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!