Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 August 25

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
Андрій
по rn если джойнить получается возможна такая ситуация.
Вот в 5 и 6 строчки не совпадение, их нужно както свапнуть
что такое свапнуть?
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Oleg Makarikhin
что такое свапнуть?
ну я образно, поменять местам.
мне нужно чтобы  тсс с ИД 4 из т2  отображался на 6 строке, возле соответствующего из т1
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
Андрій
ну я образно, поменять местам.
мне нужно чтобы  тсс с ИД 4 из т2  отображался на 6 строке, возле соответствующего из т1
вместо 8 была 4?
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Oleg Makarikhin
вместо 8 была 4?
Да, както так, толкьо через фул джойн.
ну я както так и пытаюсь толкь оне пойму как приоритетное вынуть..
источник

k

karb0f0s in SqlCom.ru - Стиль жизни SQL
ISNULL(c1.storekey,c2.storekey) AS storekey
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
выглядит как будто у тебя есть два резалтсета с одними и теми же данными , только один из них приоритетнее, но если в нем нет данных то надо взять из второго. типа как дефолтные и недефолтные значения.
ну и это можно сделать через leftjoin на более приоритетную, и там где у  jeftjoin-а null   через iif/isnull выбирается приоритетное значение
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
я вспомнил что я в таком запросе(на мускуле) делал декартово произведение. (правда лишний резалтсет  имел всего одну строку)
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
но всеравно было как-то непосебе
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Да чтото типа того, но я как не кручу не получается  (
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
karb0f0s
ISNULL(c1.storekey,c2.storekey) AS storekey
чтото типа такого? только теперь надо 1 и 3 строку обеденить.
источник

k

karb0f0s in SqlCom.ru - Стиль жизни SQL
Андрій
че то типа такого сделал, но это естественно совсем не правильно )
with c1 as (
select *,ROW_NUMBER() over(partition by storekey order by tssid)rn from (values
(1,1),(1,2),(2,1),(2,2),(3,1)
)v(storekey,tssid)
)
,c2 as (
select *,ROW_NUMBER() over(partition by storekey order by tssid)rn from (values
(1,1),(1,3),(2,1),(2,2),(4,5)
)v(storekey,tssid)
)

select  *from c1
full join c2 on c1.storekey = c2.storekey and  c1.rn=c2.rn
order by 1,2,3,4
select
ISNULL(c1.storekey, c2.storekey) storekey, c1.tssid old, c2.tssid new
from c1
full join c2 on c1.storekey = c2.storekey and  c1.rn=c2.rn
order by 1,2,3
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
karb0f0s
select
ISNULL(c1.storekey, c2.storekey) storekey, c1.tssid old, c2.tssid new
from c1
full join c2 on c1.storekey = c2.storekey and  c1.rn=c2.rn
order by 1,2,3
ага, я понял, ответ выше)
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
а через рн..
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
через рн будут несовпадение при сортировке же
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Андрій
по rn если джойнить получается возможна такая ситуация.
Вот в 5 и 6 строчки не совпадение, их нужно както свапнуть
о которых я говорю тут, 5 и 6 строка, ниче не изменится
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
получилось,всем спасибо за помощь
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
karb0f0s
это прям 100% дыра для SQL Injection
sp_executesql с параметрами можно использовать
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Андрей Агеев
sp_executesql с параметрами можно использовать
ну в данном случае это же не поможет.
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
ему нужно колонки прям получать.
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
select 1;go;drop table students;—
MUHAHA
источник