TGViewer
Я твой продукт анализировал Я твой продукт анализировал @datadeepdive · 1.68K subscribers
Post #151 1.54K
📌 Условия case в конструкциях join

В SQL, наверное, моя любимая конструкция это кейсы. С ними можно вытворять почти всё что угодно. Например, не все в курсе, что через кейс можно даже джойнить таблицы.

Представь ситуацию — у тебя в БД есть таблица заказов, где каждый заказ связан либо с id залогиненного пользователя, либо с его id гостя. Нам надо объединить данные о заказах с информацией о клиентах, выбирая тип клиента в зависимости от наличия информации о пользователе. Например, нужно имя юзера, но если он не был залогинен в текущей сессии, то ищем его имя по его гостевому id:

🔵orders — таблица заказов с полями order_id, customer_id и guest_id
🔵customers — таблица клиентов с полями customer_id и name

select o.order_id,
c.name
from orders o
left join customers c on c.customer_id =
case when o.customer_id is not null then o.customer_id
else o.guest_id end


#сниппеты
  • 👍 29
  • 🤯 19
  • 🔥 2
More from @datadeepdive
  1. Jul 28, 2026📌 4/4, Бизнес уровень. Пожалуй самый сложный, и самый простой уровень одновременно. Понят…
  2. Jul 28, 2026Сори, отвлёкся 😀 📌 3/4, Продуктовый уровень. Этот раздел ставит перед собой почти филосо…
  3. May 31, 2026📌 2/4, Операционный уровень. Эта часть про то, насколько оптимально расходуются ресурсы.…
  4. May 31, 2026📌 Про оценку направления экспериментов, 1/4 Я как-то недавно выступал на одной конфе, рас…
  5. May 26, 2026А вот маленький демо датасет, если захочется глянуть как оно всё работает
  6. May 26, 2026Прикрутили типизацию аккаунтов, теперь в соло можно пользоваться без всяких ключей, с огра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →