WITH books AS (
  SELECT
    bookId
  FROM
    dataset.books
  WHERE
    id = 'a123'
)

-- 表示する対象productId情報を取得
, products AS (

SELECT
  *
FROM
  dataset.products
WHERE
  id like concat('%', (SELECT bookId FROM books), '%')
)

SELECT * FROM products;

上記ではid情報がa123であるbookIdを取得して、そのbookId情報が別テーブル(products)のid情報内の文字列内に含まれている情報のみを抽出している。

ややマニアックですが、特定のid情報を包括するid情報が存在する場合には上記のようにconcatを使って文字列連結することで、WITH句で抽出した情報の文字列からLIKE演算子のワイルドカード検索に活用してます。

おすすめの記事