where 절을 사용하는 동안 모든 레코드를 SELECT or 특정 레코드 만 SELECT를 실현하는 방법

2494 단어 MySQLBigQueryredash

개요



Redash와 같은 선택 상자에서 ID1을 선택하면 해당 ID의 레코드를, ALL을 선택하면 필터링하지 않고 모든 레코드를 검색하고 싶을 수 있습니다.

그래서 SQL 에서 WHERE id = 에 1 을 기재하면 id 1 의 레코드를 취득, ALL 와 같은 것을 기재하면 전체 레코드를 취득하는 방법을 생각해 보았습니다.

방법



※ 대상 테이블이 문자열의 고유 식별자를 가지고 있는 것이 전제 조건이 됩니다.
=> CAST 함수를 사용하여 STRING으로 변환하면 id 열도 가능합니다.
LIKE 를 사용해 개별 취득하고 싶을 때는 해당 레코드의 유니크 ID를 지정, 전 취득하고 싶을 때는 모든 캐릭터 라인에 매치 하도록 와일드 카드를 지정하는 것으로 실현할 수 있습니다.

개별 선택:WHERE unique_code_column LIKE "code1234"
전체 선택:WHERE unique_code_column LIKE "%_%"
다음은 Big Query × Redash의 예입니다.
WITH users AS(
    SELECT '田中' as name, 's9nicadgu3' as uid
    UNION ALL
    SELECT '佐々木' as name, 'p9f2igt4k5' as uid
    UNION ALL
    SELECT '佐藤' as name, 'tztrg8ibra' as uid
)

SELECT
    *
FROM
    users
WHERE uid LIKE {{ uid }}

## Dropdown List uid
"%_%"
"s9nicadgu3"
"p9f2igt4k5"
"tztrg8ibra"

Query Based Dropdown List를 사용하여 uid를 명명된 방식으로 보다 명확하게 만들 수도 있습니다.

좋은 웹페이지 즐겨찾기