Mam taki problem jak mogę znaleźć i wyciągnąć jedną wartość z wielu kolumn
załóżmy, że jest col1, col2, col3 , col4 i w jednej z tej kolumny jest dana wartość i muszę się do niej dostać może być w każdej z tych kolumn, szukam jej na podstawie, że jest jeszcze jedna kolumna etapy no i jeżeli w tych etapach jest wartość x, to gdzieś w tych czterech kolumnach na tej samej pozycji jest odpowiednia wartość, której szukam.
0
1
Hej,
można to zrobić jak zwykle na parę sposobów, podam dwa, które wydają mi się w miarę proste, ale może jestem w błędzie:
- zrzucamy cztery kolumny do Excela (o ile to możliwe), zakładamy cztery filtry, i tyle...
- w SQL można zrobić tak: łączymy cztery kolumny w jedną z separatorem np. takim: "_" (funkcja CONCAT), i wyszukujemy w nowo utworzonej kolumnie frazy z użyciem funkcji CONTAINS... to ma sens, o ile wyszukiwanie robimy wielokrotnie...
2
Można też tak:
create table test(
col1 nvarchar (20),
col2 nvarchar (20),
col3 nvarchar (20),
etap int
)
insert into test(
col1, col2, col3, etap) values
('aaa', 'bbbb', 'ccc etap4', 3);
insert into test(
col1, col2, col3, etap) values
('xxx', 'yyy', 'ccc etap5', 5);
select
case when col1 like '%5%' then col1 end,
case when col2 like '%5%' then col2 end,
case when col3 like '%5%' then col3 end
from test where etap = 5
Tutaj SQLfiddel: http://sqlfiddle.com/#!18/de7df/48