Задать вопрос
Antonchik
@Antonchik
Программирую на HTML

Как написать запрос?

Здравствуйте. Есть у меня такая таблица
|id|name|field|field2|field3|field4|field5|field6|
В ячейках field хранятся текстовые значения но они могут быть пустыми, как достать записи где есть текст минимум в двух field
  • Вопрос задан
  • 161 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 2
romy4
@romy4
Exception handler
используя хитрость
select *,IF(not isnull(field1),1,0) + IF(not isnumm(field2,1,0) + ... AS myselector  from tablename where myselector >=2
Ответ написан
@rll
SELECT t.*
FROM твоятаблица t
INNER JOIN (
	SELECT id
		,(
			CASE coalesce(field, '') WHEN '' THEN 0 ELSE 1 END + 
			CASE coalesce(field2, '') WHEN '' THEN 0 ELSE 1	END + 
			CASE coalesce(field3, '') WHEN '' THEN 0 ELSE 1 END + 
			CASE coalesce(field4, '') WHEN '' THEN 0 ELSE 1 END + 
			CASE coalesce(field5, '') WHEN '' THEN 0 ELSE 1 END + 
			 CASE coalesce(field6, '') WHEN '' THEN 0 ELSE 1 END
			) AS cnt
	FROM твоятаблица
	) AS a ON a.id = t.id AND a.cnt >= 2
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега SQL
Седой и строгий
select t.name from some_table as t
inner join lateral (
    select t.id, count(*)
    from (values (t.field1), (t.field2), (t.field3), (t.field4)) as v(col) where v.col is not null
)
as nn using(id) where nn.count > 1;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы