Nano Hash - криптовалюты, майнинг, программирование

Как сравнить строки в одной таблице с каждой строкой по умолчанию?

У меня есть вопрос о выборе групп, и каждая группа ГДЕ по «Данные1», если не существует, ГДЕ по «НОЛЬ или пусто», иначе не отображается

Пример:

Table T1         Table when data='00001'    Table when data='00002'    Table when data=''
Col1 Col2        Col1 Col2                  Col1 Col2                  Col1 Col2
A    00001       A    00001                 A    NULL                  A    NULL
A    NULL        B    00001                 B    00002                 B    NULL
B    00002       C    00001                 D    NULL                  D    NULL
B    00001       D    NULL                  E    00002                 E    NULL
B    NULL        E    NULL
C    00001
D    NULL
E    00002
E    NULL

Моя идея - выбрать таблицу, в которой данные и объединение с таблицей выбора, где Col2 = null, а Col1 не в первом выборе

WITH T1 AS
(
    SELECT * FROM Table WHERE Col2='00001'
)
SELECT * FROM T1
UNION
SELECT * FROM Table T2
WHERE T2.Col1 NOT IN (SELECT Col1 FROM T1) AND ISNULL(T2.Col2,'')=''

но если у меня 30 тысяч записей, это слишком медленно


Ответы:


1

Используйте логическую логику и выполните агрегацию:

SELECT col, MAX(col2) AS col2
FROM table t
WHERE (col = '00001' OR col IS NULL)
GROUP BY col;

Для мультифильтра:

WHERE (col IN ('00001', '00002', '') OR col IS NULL)
04.04.2020

2

Вы можете использовать агрегацию:

select
    col1,
    max(col2) col2
from mytable
where col2 = '00001' or col2 is null
group by col1
04.04.2020
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..