Jedna wartość z wielu kolumn

0

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.

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:

  1. zrzucamy cztery kolumny do Excela (o ile to możliwe), zakładamy cztery filtry, i tyle...
  2. 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

1 użytkowników online, w tym zalogowanych: 0, gości: 1