Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
jaagupk
HV kasutaja
liitunud: 10.01.2011
|
03.07.2012 13:12:27
SQL 1 väärtus mitmele väljale |
|
|
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 |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
03.07.2012 13:40:30
|
|
|
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 |
|
 |
jaagupk
HV kasutaja
liitunud: 10.01.2011
|
03.07.2012 14:31:21
|
|
|
Täitsa lõpp ikka... 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 |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
03.07.2012 14:47:15
|
|
|
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 |
|
 |
jaagupk
HV kasutaja
liitunud: 10.01.2011
|
03.07.2012 15:28:18
|
|
|
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 Teen väikest andmete parandust.
E: aga proovin sinu lahendust.
E2: Tänud! Sain tehtud
|
|
Kommentaarid: 22 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
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
|
|