Hirdetés
Új hozzászólás Aktív témák
-
bugizozi
őstag
fordfairlane, DS39: Király, sikerült, köszi mindkettőtöknek a gyors segítséget!
VCP7-DCV, CCNA ||| Ami működik, ahhoz nem szabad hozzányúlni!
-
Petya25
őstag
MS SQL-ben sokszor szívok idő formátummal mint kimenet.
táblában datetime
2016-12-01 02:14:34.927lekérdezve convert(time, ....) után
02:14:34.9270000Na ezt simán excelbe tolva nem lesz ám rendes idő amivel lehetne tovább számolni.
Valami tipp egy rendes "02:14:34" formátumra?
Antonio Coimbra de la Coronilla y Azevedo, bizony!
-
Petya25
őstag
válasz martonx #3304 üzenetére
Asszittem van valami egyszerű konvert rá....
Excelben meg tudom oldani formátum mókolással, de most csak a nyers adatot akartam továbbküldeni Ctrl+C -> Ctrl+V-vel....
A szövegként átemelést még bepróbálom, köszi.[ Szerkesztve ]
Antonio Coimbra de la Coronilla y Azevedo, bizony!
-
Petya25
őstag
válasz fordfairlane #3306 üzenetére
Köszi, működik.
Antonio Coimbra de la Coronilla y Azevedo, bizony!
-
DS39
nagyúr
Sziasztok!
MS SQL-es kérdésem lenne, van két adatbázis szerver, az egyiket be szeretném csatolni a másik alá, Linked Server-ként.
Tudom, hogy google a barátom, de ezúttal még nem vezetett rá a tökéletes megoldásra.
Tudtok segíteni hogy ezekbe a mezőkbe milyen paramétereket vár?
Van ip címem, szervernevem, csak nem tudom mit hova.[ Szerkesztve ]
-
Lacc
aktív tag
Helló.
SQL (MySQL, PostgreSQL) esetében a ForeignKey-ekre érdemes még Indexet rádobni a jobb kereshetőség érdekében?
-
Petya25
őstag
Ha csak annyit szeretnél, hogy az egyik DB-ből átolvass egy másik szerver DB-jébe akkor ezzel nem kell így trükközni.
Csinálsz egy sql usert a távoli DB-ben.
Itt a Linked Server nevébe beírod a távoli szerver nevét, a Security fülön meg megadott Remote loginnak a távoli sql usert a jelszóval.
És átolvasol teljes útvonallal: select * from [gép].[db].dbo.[tábla]Antonio Coimbra de la Coronilla y Azevedo, bizony!
-
martonx
veterán
-
Lacc
aktív tag
válasz martonx #3316 üzenetére
Ezt én is így gondoltam.
Microsoft-ok szerint nem árt, link, Indexing FOREIGN KEY Constraints fejezet cím.
Amúgy ha összetett keresést alkalmazok webappból (dropdownlistában ott vannak a foreign key kulcsok) akkor gyorsabb, érezhetően gyorsabb 500.000 rekordnál, még szerme is
-
martonx
veterán
Ez így is van, csak jelzem, hogy éppen a saját ajánlásuk miatt MSSQL-ben a foreign key az automatikusan indexelődik. Meglepődnék ha más SQL-eknél ez nem pont ugyanígy lenne.
Azaz továbbra is fenntartom, hogy manuálisan külön felesleges indexet kreálgatni FK-hoz, ha azt előtte már úgyis automatikusan megcsinálta a db motor.Én kérek elnézést!
-
Vici83
újonc
Sziasztok!
Lenne egy problémám. Elsősorban azokat szeretném zavarni a kérdésemmel, akik már használták a Visual Studio adatbázis kezelő részét. Ugyanis Visual Studio-ban kell SQL parancsokkal adatbázist kezelnem (sajnos nálunk az érettségin csak ezt tudják a gyerekek használni). Viszont nem találok arra megoldást, hogy hogyan lehetne azt beállítani, hogy alapértelmezett magyar rendezési sorrendet és UTF-8 karakterkódolást használjon egy adatbázis létrehozásakor (feladat az érettségin). Tehát az a kérdésem, hogy ezt a MySQL parancssort hogyan lehetne a Visual Studio-ba úgy átalakítani, hogy értelmezze is:
CREATE DATABASE papirgyujtes
DEFAULT CHARACTER SET utf8
COLLATE utf8_hungarian_ci;
Segítségeteket előre is köszönöm! -
martonx
veterán
Szia!
--megkeresed a neked megfelelő collationt
SELECT * FROM sys.fn_helpcollations()
--majd alkalmazod
CREATE DATABASE CaseSensitive
COLLATE SQL_Latin1_General_CP1_CS_AS --így, de ez csak egy példa, ez épp nem a hungarian
select 'a' C union
select 'á' C union
select 'b' C
order by C
select N'a' C union
select N'á' C union
select N'b' C
order by CAmi a sorba rendezős kérdésedet illeti, tudtommal MSSQL-nél ezt így nem tudod megadni. Ha az adat típus varchar, akkor ha a fene fenét eszik is nem unicode rendező algoritmust fog az sql engine rá használni.
Ám ha az adat típus nvarchar (azaz unicode varchar), akkor meg ha a fene fenét eszik is unicode rendező algoritmust fog rá használni.De igaziból lehet, hogy elég a fenti kódrészletem, és a jól beállított collation, és máris jó lesz a sorba rendezés? Vagy a kettő együtt? Lusta voltam kipróbálni, írd majd le a nyerő kombinációt!
Én kérek elnézést!
-
PumpkinSeed
addikt
válasz kezdosql #3270 üzenetére
Szerintem neked pont egy Elasticsearch Kibana párosra van szükséged, ahol a már meglévő adatokat egy interpreter segítségével CSV-ből átteszed az Elasticsearch-be amit azután a Kibana segítségével szépen meg tudsz jeleníteni és minden látsz a webes felületen, mikor mi hogyan lett hozzáadva. Itt egy kis ismertető a Kibana-ról Illetve a full Elastic-stack itt van leírva.
[ Szerkesztve ]
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
Mittu88
senior tag
Srácok, új vagyok ebben a topicban, de riszpekt, hogy milyen kulturáltak voltatok kezdosql-el... Még csak most olvasom vissza a topicot, de még pár hozzászólásába belefutok és szétverem a céges billentyűzetet. Hihetetlen, hogy ezek a lények még szaporodnak is a XXI. században.
-
DrojDtroll
addikt
Sziasztok.
Ez miért nem fut le?
IF (Allatok.védettség)="védett"
(SELECT Year([Dátum]) AS Kif1, [Faj]+" (mérsékelten veszélyeztetett)" AS Kif2, észlelések.Körzet, Allatok.védettség
FROM osztályok INNER JOIN (észlelések INNER JOIN Allatok ON észlelések.Faj = Allatok.[Faj neve]) ON osztályok.id = Allatok.Osztály
WHERE (((Year([Dátum]))=2011) AND ((észlelések.Körzet)="Jósvafő") AND ((Allatok.védettség)="védett")) OR (((Year([Dátum]))=2011) AND ((észlelések.Körzet)="Eger"));)
ELSE
(SELECT Year([Dátum]) AS Kif1, [Faj]+" (veszélyeztetett)" AS Kif2, észlelések.Körzet, Allatok.védettség
FROM osztályok INNER JOIN (észlelések INNER JOIN Allatok ON észlelések.Faj = Allatok.[Faj neve]) ON osztályok.id = Allatok.Osztály
WHERE (((Year([Dátum]))=2011) AND ((észlelések.Körzet)="Jósvafő") AND ((Allatok.védettség)="védett")) OR (((Year([Dátum]))=2011) AND ((észlelések.Körzet)="Eger"));)[ Szerkesztve ]
-
DrojDtroll
addikt
válasz DrojDtroll #3326 üzenetére
Már szebben megoldottam.
SELECT Year([Dátum]) AS Kif1, észlelések.Körzet, IIf([Allatok].[védettség]="védett",[észlelések].[Faj]+" (mérsékelten veszélyeztetett)",[észlelések].[Faj]+" (veszélyeztetett)") AS Kif2
FROM osztályok INNER JOIN (észlelések INNER JOIN Allatok ON észlelések.Faj = Allatok.[Faj neve]) ON osztályok.id = Allatok.Osztály
WHERE (((Year([Dátum]))=2011) AND ((észlelések.Körzet)="Jósvafő")) OR (((Year([Dátum]))=2011) AND ((észlelések.Körzet)="Eger"));Normál SQL IF miért nem működik az Access-ben?
-
Ispy
veterán
válasz DrojDtroll #3327 üzenetére
Accesben le tudsz futtatni SELECT, INSERT, UPDATE utasítást, vagy meg tudsz hívni tárolt eljárást, függvényt, de ez:
IF ....
SELECT ....
FROM ....nem értelmezhető egyiknek sem. Akkor berakod egy tárolt eljárásba, paraméterekkel és ott futtatod.
Egyébként az IF syntaxa SQL-ben:
IF ....
BEGIN
valami
END
ELSE
BEGIN
akármi
END[ Szerkesztve ]
"Debugging is like being the detective in a crime movie where you're also the murderer."
-
Ispy
veterán
válasz DrojDtroll #3329 üzenetére
MS SQL?
"Debugging is like being the detective in a crime movie where you're also the murderer."
-
Vesporigo
aktív tag
Anno 12-13 éve suliban tanultam SQL-t, mert kellett egy vizsgámhoz, de csak nagyon alap szinten. Most újra nekikezdenék, de már rendesen, az alapoktól. Visszaolvasgattam, milyen könyveket ajánlottatok páran, főleg ezek kerültek elő:
- SQL-Iekérdezések földi halandóknak
- Adatmodellezés - SQL és ACCESS alkalmazás - SQL Server és ADO
- Halassy Béla: Az adatbázistervezés alapjai és titkaiGondolom, a Halassy-féle könyvvel kellene kezdenem, viszont ha van valami újabb/jobb/szebb/érthetőbb/stb., amit ajánlanátok, azt örömmel venném.
Egyébként angollal sincs bajom, online kurzusokat is csináltam már, szóval ha inkább olyan online vagy webes anyagot mondanátok, ami egészen az alapoktól magyaráz érthetően, annak is örülnék. (Coursera, Udemy, bármi ilyesmi)
Előre is köszi a segítséget!
-
htcwanted
csendes tag
Alap SQL kérdés: Van két táblám: table_A és table_B, ugyanazokat az oszlopokat tartalmazza mindkét tábla. A table_B -ben naprakész az összes sor. Kérdés: mi a legegyszerübb módja frissíteni table_A-t, table_B alapján.
Sima UPDATE query, JOIN vagy MERGE használata?
- például a második sort valaki törölte table_B-ben, az törlődjön a table_A-ben is
- például érték változás történt a harmadik sor table_B-ben, ugyanaz az érték változzon table_A-ben is
- például egy új sort adtunk table_B-hez, ezt a sort adja hozzá table_A -hez is.
Lehetséges mindez egy Query-ben leírva?
Előre is köszönöm a hozzáértők segítségét"ha van kérdésed SharePoint területen, megpróbálok segíteni"
-
martonx
veterán
válasz htcwanted #3333 üzenetére
Catfathern válasza teljesen jó.
Viszont teljesítményben nem éppen optimális. A MERGE adja a legjobb teljesítményt, viszont azt nem két sor használni, bár nem is olyan vészes.
Hozzáteszem, ha viszont mindig csak új adatot kell hozzáadni, akkor ez nyilván jobb teljesítményt fog hozni, mint egy merge:INSERT tbl_A (col, col2)
SELECT col, col2
FROM tbl_B
WHERE NOT EXISTS (SELECT col FROM tbl_A A2 WHERE A2.col = tbl_B.col);Én kérek elnézést!
-
htcwanted
csendes tag
Például: table_B egy megosztott tábla amiben a userek tudnak frissíteni információt.
table_A mindennap frissül table_B alapján, és más helyeken van használva, reportok, nézetek, Front End.
Dinamikus frissítés sajnos nem lehetséges, a napi egyszeri automatikus szinkronizálás jelenleg teljesen kiszolgálja a különböző funkciókat."ha van kérdésed SharePoint területen, megpróbálok segíteni"
-
rum-cajsz
őstag
válasz htcwanted #3338 üzenetére
Mivel nem csak új sort tudnak felvinni a felhasználóid, hanem már meglévő sorok adataiban is módosíthatnak mégis az a legegyszerűbb technikailag, amit Cathfaern javasolt.
Martonx kolléga megoldásával az a probléma, hogy ő feltételezi, hogy a már elmentett adatokon nem változtatnak a felhasználók. Ha ez megtörténhet, akkor neked a teljes táblákat kell összehasonlítanod mondjuk a MINUS operátorral.
De az is fontos kérdés lehet, hogy milyen adatbázisban akarod működtetni? És mekkora adatmennyiségről (hány sor) van szó?
[ Szerkesztve ]
=Kilroy was here============================ooO=*(_)*=Ooo=======
-
Cathfaern
nagyúr
válasz martonx #3337 üzenetére
Nem nagyon használtam még a MERGE-et, de rákeresve az nem töröl a cél táblából ha a forrás táblából kitöröltek egy sort, és itt az is feltétel volt.
rum-cajsz
Meg az is kérdés, hogy mennyi adat változik? Szóval ha mondjuk a sorok 90%-a állandó marad, akkor lehet érdemes megpróbálni insert / update / delete-el eljátszani. De ha a sorok 90%-a változik napról napra, akkor a delete -> insert verziónál nem nagyon lesz hatékonyabb. Mondjuk ha emberi mennyiségű adatról van szó, akkor meg kb. mindegy (és szerintem ha többi milliárd rekordos táblák lennének, akkor nem itt és nem így merülne fel a kérdés, de lehet tévedek) -
bpx
őstag
válasz htcwanted #3336 üzenetére
Nagyon jó, már csak az adatbázis típusa kellene, mert pl. Oracle-ben ez egy sima matview és nem írunk sem MERGE-t, sem INSERT .. SELECT-et, mert azoknál hatékonyabb.
A szűrés nélküli, teljes táblára vonatkozó DELETE-et meg csak indokolt esetben használjuk, mert egyébként felesleges pazarlás. Simán TRUNCATE és kész.
-
X Factor
addikt
Sziasztok,
SQL 2008R2 updatelve lett SQL 2014-re. Management Studio megy is, de ha belépek vele a szerverre, akkor ott a verzió 10.50.4000, ezt kéne 11 fölé updatelni.
Make things work
-
tvse1995
senior tag
Sziasztok, adottak az alábbi táblák és ez a feladat:
Kérdezze le a 2. és 3. legfiatalabb bérlők és tranzakcióik legfontosabb adatait. Ha több 2. és 3. legfiatalabb van akkor mindegyikük adatait adja meg! Minden regisztrált bérlőt vegyen figyelembe függetlenül attól, hogy kölcsönzött-e már.
Oszlopok sorrendje és neve: berlo_kulcs, nev, szuletesi_ido, kolcsonzes_kulcs, kiadas, visszavetel, jarmu_kulcs, marka, tipusOracle sql developer 4.1.3.20-ban dolgozunk ha ez számít.
Minden fajta segítségnek nagyon örülnék
Előre köszönöm! -
Ablakos
őstag
válasz tvse1995 #3349 üzenetére
Talán ilyesmi.
Select legfi.berlo_kulcs,
legfi.nev,
legfi.szuletesi_ido,
jarmukolcsonzes.kolcsonzes_kulcs,
jarmukolcsonzes.kiadas,
jarmukolcsonzes.visszavetel,
jarmukolcsonzes.jarmu_kulcs,
jarmu.marka,
jarmu.tipus
From
(Select berlo_kulcs From ( Select Rank() Over (Partition By berlo_kulcs Order By szuletesi_ido Desc) rn, berlo_kulcs From berlo Where rn In (2,3)) legfi
,jarmukolcsonzes
,jarmu
Where legfi.berlo_kulcs = jarmukolcsonzes.berlo_kulcs(+)
And jarmu.jarmu_kulcs = jarmukolcsonzes.jarmu_kulcs[ Szerkesztve ]
Új hozzászólás Aktív témák
Hirdetés
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: Ozeki Kft
Város: Debrecen