Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  SQL 1 väärtus mitmele väljale märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
jaagupk
HV kasutaja

liitunud: 10.01.2011




sõnum 03.07.2012 13:12:27 SQL 1 väärtus mitmele väljale vasta tsitaadiga

Tere

Pead vaevanud juba päris pikka aega ja kuidagi ei saa suuda leida lahendust.
Alg seis:

Tabel1
kasutaja

Tabel2
kasutaja meil nimi

Tabel1 kasutaja väärtus on "eesnimi.perenimi".
Nüüd oleks vaja lisada Tabel1 väärtus 3-le väljale.

Ise olen suutnud välja mõelda sellise asja:

INSERT INTO [baas].[dbo].[Tabel2] (kasutaja, meil, nimi)
SELECT DISTINCT a.[kasutaja],REPLACE(a.[kasutaja], '.', ' '), a.[kasutaja]+'@meil.ee'
FROM [baas2].[dbo].[Tabel1] as a


Aga kahjuks selline asi ei toimi. Olen mõelnud ka kasutada DECLARE aga siis ma pole aru saanud kuidas ta SET-ist saaks mitu rida kätte.

Juhe päris koos juba.

Tänud ette!
Kommentaarid: 22 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 22
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 03.07.2012 13:40:30 vasta tsitaadiga

INSERT table2 (kasutaja, meil, nimi) SELECT nimi, CONCAT(nimi, '@meil.ee'), REPLACE(nimi, '.', ' ') FROM table1

Selline query toimib küll nagu... miks sinuoma ei "toimi" ?

_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
jaagupk
HV kasutaja

liitunud: 10.01.2011




sõnum 03.07.2012 14:31:21 vasta tsitaadiga

Täitsa lõpp ikka... eusa_wall.gif Kirjutasin päringu uuesti ja siis toimis. Eks siis kuskile oli näpukas jäänud. (Seekord ei kasutanud kandilisi sulge [ ] välja nimes.)

Aga nüüd tekkis uus küsimus T-SQLis RTRIM-i funktsiooni kohta ?
Soov oleks eemaldada kõik pärast @ märki.
Näiteks:
var = "meil@meil.ee"
SELECT RTRIM(var, '@') FROM Table1

Aga selline asi annab tulemuseks:
The rtrim function requires 1 argument(s).
Kommentaarid: 22 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 22
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 03.07.2012 14:47:15 vasta tsitaadiga

RTRIM on mõeldud ainult spacede eemaldamiseks paremalt (Returns a string after removing leading blanks on Right side.)

Sinu soovitud asja saaks teha kasutades SUBSTRING ja CHARINDEX funktsioone. (leiad kõigepealt CHARINDEXIGA @ asukoha ning seejärel tagastad SUBSTRINGIGA ainult esimese osa stringist (0, CHARINDEX(...))

(samas ma ei mõista, ise sa ju lisasid selle @meil.ee sinna lõppu INSERTides..milleks see nüüd uuesti ära võtta?)

_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
jaagupk
HV kasutaja

liitunud: 10.01.2011




sõnum 03.07.2012 15:28:18 vasta tsitaadiga

Redikate kirjutas:
RTRIM on mõeldud ainult spacede eemaldamiseks paremalt (Returns a string after removing leading blanks on Right side.)

Sinu soovitud asja saaks teha kasutades SUBSTRING ja CHARINDEX funktsioone. (leiad kõigepealt CHARINDEXIGA @ asukoha ning seejärel tagastad SUBSTRINGIGA ainult esimese osa stringist (0, CHARINDEX(...))

(samas ma ei mõista, ise sa ju lisasid selle @meil.ee sinna lõppu INSERTides..milleks see nüüd uuesti ära võtta?)


See täiesti teise tabeliga seotud icon_smile.gif Teen väikest andmete parandust.
E: aga proovin sinu lahendust.
E2: Tänud! Sain tehtud icon_smile.gif
Kommentaarid: 22 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 22
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  SQL 1 väärtus mitmele väljale
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.