Wypadek w liście - Tabela

0

Pytanie

Staram się filtrować ogromną ilość danych, więc postanowiłem utworzyć pole obliczeniowe i używać case, jeśli product_id w liście, "1", jeszcze "0" ale z jakiegoś powodu to było składniowej błędem.

to moje pole obliczeniowe:

W przypadku, gdy product_id ( '31049','31048','26166','27816','26031','28861','28864','28863','28203','28110','20641','38112','45174','20645','28404','20646','20648','26159','33287','31417','40551','41020','40550','40550','40553','40554','29804','29941','31430','33354','36730','26073','31432','31433','31431','38154','38166','26029','28341','45138','38069','42069','26060','26060','33886','33886','28392','29518','44879','20651','20655','42914','37535','28031','27588','29297','37688','37709','29551','29551','30183','29550','26187','29549','41348') WTEDY '1' JESZCZE '0' Koniec

Jakieś pomysły, do kogo to należy napisać?

Чемб z góry :)

3

Najlepsza odpowiedź

2

Na przykładzie zbioru danych to działa:

SELECT RIDE_ID as ri,
CASE 
 WHEN ri in ('5EB0FAD625CFAEAB', '5A9314E3AF8DCC30') THEN '1'
 ELSE '0'
END AS result
FROM CITIBIKE_TRIPS LIMIT 10; 

Otrzymuję: enter image description here

2021-11-18 09:26:23

tak to działa w bazie danych, ale nie w tabeli :) nie mogłem uruchomić go w polu obliczeniowym
Razan Aldossary

To znaczy, że błąd wtedy w tabeli, a nie w snowflake? Niestety, nie jestem zaznajomiony z tym, jak obliczane pola pracują w tabeli.
Sergiu
0

tak to działa w bazie danych, ale nie w tabeli :) nie mogłem uruchomić go w polu obliczeniowym

Być może, korzystając z LATERAL pozwoli uruchomić go z tabeli:

CREATE OR REPLACE TABLE t(ID  INT, product_id TEXT);
INSERT IGNORE INTO t VALUES (1, '31049'),(2,'31048'), (3, '100');


SELECT *
FROM t
,LATERAL (SELECT CASE WHEN t.product_id IN ( '31049','31048','26166','27816'/*...*/) 
                      THEN '1' ELSE '0' END) AS s(result);

enter image description here

2021-11-18 16:05:47
0

Jedną z opcji utwórz tabelę z kluczami, które chcesz filtrować, a następnie użyj połączenia, aby umożliwić bazie danych wykonywać pracę. Mogło by być łatwiejsze w utrzymaniu. Prawdopodobnie bardziej skuteczne

Inna opcja-nowy zestaw w tabeli na podstawie pola product_id. Określ ten zestaw, sprawdzając żądaną identyfikatory produktów, a następnie umieść zestaw na półce filtr do filtrowania, aby włączyć lub wyłączyć identyfikatory produktów w swój własny zestaw.

2021-11-20 00:36:47

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................