Új hozzászólás Aktív témák
-
nyunyu
félisten
Majdnem.
year, month eredmenyet vissza kell castolni varcharra, kulonben nem hajlando osszefuzni a stringekkel.
Illetve az is problema, hogy az egyjegyu honapoknal nem teszi ki a nullat a honap ele, igy az osszefuzott string '2013.8' lesz.Igy vagy kezzel atirod a tablaban az ertekeket ilyen formara, vagy lehetne bonyolitani a lekerdezest CASE-sel, de szerintem egyszerubb kettebontani a ho oszlopot ev+ho-ra, aztan utana egy szimpla query is megteszi:
SELECT * FROM honapok WHERE ev = YEAR(CAST(vizsgaltnap AS DATETIME)) AND ho = MONTH(CAST(vizsgaltnap AS DATETIME)) AND lezarva = 1 -
nyunyu
félisten
válasz
Petya25
#1920
üzenetére
Mi a datum formatuma?
Pl. ha a win '2013-08-12'-ot ad vissza, az nem fog betalalni a '2013.08'-hoz.
Lehet, hogy egyszerubb lenne a year, month fuggvenyekkel szetdarabolni+a lekerdezesben ujra osszerakni a datumot, es akkor nem okozna gondot az eltero formatum.
SELECT * FROM honapok WHERE ho = " + "'" + YEAR(CAST(vizsgaltnap AS DATETIME)) + "." + MONTH(CAST(vizsgaltnap AS DATETIME)) + "'" + " and lezarva = 1
Legalabbis az SQL Server igy castolva siman megeszi a '2013-08-12', '2013.08.12', '08-12-13' formatumot is.
-
nyunyu
félisten
Adott egy tabla, amiben csomopont adatai, meg celtol valo tavolsag ertekek vannak.
Problema az, hogy egy csomopont a celtol tobb kulonbozo tavolsagra is lehet, attol fuggoen, hogy a grafot bejaro algoritmus eppen milyen uton jutott oda. (A->B->C eseten 2, A->C eseten 1...)Ezt kene valahogy ugy megupdatelni, hogy x,y parosnak mindenhol a maximalis erteke legyen, mert a graf rajzolo progi hulyet kap tole, ha egy csomopontot tobb kulonbozo tavolsaggal is probalom definialni.
Hogy lehet ezt szepen megirni?
Valami ilyesmi kene:
UPDATE a
SET hier_lvl=b.hier_lvl
FROM valami a,
(SELECT x, y, MAX(hier_lvl)
FROM valami
GROUP BY x, y) b
WHERE a.x=b.x AND a.y=b.yCsak kevesbe adattarhazas dialektikaval, hogy az SQL Server is megertse.
-
nyunyu
félisten
Egyetemen azt tanitottak, hogy ma mar ekvivalens ez a ket query:
select *
from tabla t1
join tabla2 t2 on t1.id=t2.id
where t2.nev='valami';select *
from tabla1 t1, tabla2 t2
where t2.nev='valami' and t1.id=t2.id;Mind az Oracle, mind az MS SQL automatikusan atalakitja az elso szintaxist a masodik formara, es ugy optimalizalja.
Regen maskepp fordult le a ketto, jobban tudtak optimalizalni, ha vesszovel soroltad fel a tablakat.Na, de updatetelendo tablahoz joinolni??? Az nekem uj.
-
nyunyu
félisten
Egy adattarhazas cuccban lattam ilyen furcsa queryket:
update tabla1
set valtozo=tabla2.valtozo2
where tabla1.id=tabla2.id;update tabla1, tabla2, tabla3
set valtozo=tabla3.valtozo
where tabla1.id=tabla2.id and tabla2.valami=tabla3.valami;Ez mennyire bevett szintaxis?
SQL 2008R2-nek termeszetesen egyik implicit join sem tetszik.![;]](//cdn.rios.hu/dl/s/v1.gif)
-
nyunyu
félisten
Backup/Options ablakon nem latok mas SQL-re mentesi lehetoseget.

-
nyunyu
félisten
En lenni

Most jottem ra, hogy a gepemre felrakott Visual Studio 2008 feltett egy SQL Express 2005-ot, arra viszont siman be tudok jelentkezni az SQL Management Studio 2008R2-mmel, at is importaltam az adatot, SQLExpress 2005 alatt backup, celgepre atmasol, SQL2005 alatt siman restore.

Feleslegesen szivtam az adat attoltessel 6-7 orat

Mondjuk azt meg mindig rejtely, hogy a sajat gepen futo 9.0.4053-as SQLExpress 2005-re miert tud rakapcsolodni, mig a masik gepen futo 9.0.4053-as SQL 2005-re meg miert nem.
-
nyunyu
félisten
Adott egy SQL Server 2008R2 alatt letrehozott adatbazis/tabla, amit at kene varazsolni SQL Server 2005 ala, mert a celgepen csak az van.
Hogyan lehet atvinni?
Probaltam mar a sajat gepemrol SQL Management Studio 2008R2-vel betallozni a 2005-os szervert, kivagott, hogy a szerver nem tamogatja a protokoll verziot, akar TCP/IP-re, akar named pipes-re allitottam a kapcsolatot.
Masik gepen levo SQL Management Studio 2005 persze "kiszolgalo nem talalhato"-val vag ki, hiszen nem tamogatja az ujabb SQL-t.
Multkor probaltam lebackupolni az adatbazist, hogy melohelyi SQL 2008-on visszaallitsam, annak meg az volt a baja, hogy ott sima 2008 van, nem R2.

CSV-be export, aztan import nem jatszik, mert 3 ora alatt sem sikerult ugy beallitanom az importot, hogy ne dobjon "nem lehet konvertalni az adatot" jellegu hibat

BTW, lehet ezzel a nyuves SQL Management Studio-val olyat csinalni, hogy a tabla osszes adatabol general egy futtathato SQL fajlt, ami egyesevel beinzertalja egy tablaba az adatokat?
InterBase/Firebird-hoz valo IBExpert progival lehetett ilyet csinalni...
SQL Management Studioban adatbazison jobb klikk/Script As../Insert INTO az csak a tabla fejlecet irja meg, adatokat persze nem teszi bele

-
nyunyu
félisten
Egyszerubb volt a problema, mint hittem.

Kulfoldi kollegak felvilagositottak, hogy amikor IBExperttel megnyitom a lementendo tablat, akkor a toolbarban megjelenik egy "export data" ikon, arra kattintva allithato, hogy "UPDATE statement", vagy "INSERT statement" formaban mentse el oket...
(Gondoltam, hogy van valami ilyesmi opcio, csak en a menusort nyalaztam at, ott meg csak az Export Metadata volt, ami nem igy mukodik.)
-
nyunyu
félisten
Adott egy kulfoldi fejlesztesu programcsomag, ami InterBase adatbazist hasznal.
Problemam az, hogy akarhanyszor adatbazis hiba van, es kikuldom a gdb fajlt a fejlesztoknek, akkor mindig kulfoldi nyelvu adatokkal kapom vissza a javitott adatbazist.Kaptam a fejlesztoktol egy nagyonhosszu SQL fajlt, ami tele van UPDATE-ekkel, es vegignyalazza az adatbazist, mindent atirva angolra.
Ezt megelozendo le szeretnem menteni a mostani _magyar_ adatbazisom tartalmat, hogy ha gond van, akkor egy SQL szkript lefuttatasaval visszairna az adatokat magyarra, mert nincs kedvem fel napokat ezzel az adatbazis kezi buheralasaval szorakozni.IBExperttel kinlodok egy jo ideje, extract metadata opcioja priman mukodik, csak eppen ilyen formaban hozza letre az SQL fajlt:
INSERT INTO COUNTRY (ID, CODE, NAME, CLASSIFIER, CATEGORY, ENABLED, CODE2, INFO, PARAMSTR) VALUES (36, 'AO', 'ANGOLA', '024', 8, 1, 'AO', '', '');Ha ezt megetetem az InterBase SQL futtatojaval, allandoan hibat dob, hiszen mar letezik ilyen sor.

Nekem valami ilyesmi formaban kellenenek:
UPDATE COUNTRY SET
CODE = 'AO',
NAME = 'ANGOLA',
CLASSIFIER = '024',
CATEGORY = 2,
ENABLED = 1
WHERE (ID = 36);Letezik erre valami _jo_ program, ami ilyen UPDATE queryket general a meglevo tablakbol?
Új hozzászólás Aktív témák
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- HIBÁTLAN iPhone 15 Plus 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4504
- Dell Precision 7550,15.6,FHD,i7-10850H,16GB DDR4,256GB SSD,Quadro T2000 4GB VGA,WIN11,LTE
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
![;]](http://cdn.rios.hu/dl/s/v1.gif)




