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演算子のワイルドカード検索に活用してます。


