T-SQL: найти пустой столбец - PullRequest
0 голосов
/ 26 июля 2010

В моей таблице 10 столбцов, используемых для хранения «предметов» (игровой сервер).Когда пользователь поднимает элемент, он должен пройти по столбцам 0-9 (с именами "I0" .. "I9") и возвращается, когда столбец в текущей строке становится пустым.Я не могу понять, как это сделать на стороне сервера SQL.Я могу думать только, если существует для каждой колонки, но это не очень хорошо .. Рад за любую помощь!Спасибо

Ответы [ 3 ]

5 голосов
/ 26 июля 2010

Может быть, лучше иметь таблицу items (user_id, item_id) и ограничить счет до 10 для каждого пользователя?

Мне кажется, это хороший способ нормализовать ваш стол и решить вашу проблему. Кроме того, структура вашей таблицы становится более гибкой - вы можете динамически увеличивать или уменьшать лимит.

0 голосов
/ 08 июня 2012
SELECT COALESCE(I0, I1, I2, I3, I4, I5, I6, I7, I8, I9) AS FirstNotNull
FROM MyTable
0 голосов
/ 27 июля 2010

Мне кажется, что вы пытаетесь найти пустой столбец для указанного пользователя (строки).И пустой столбец содержит NULL.Предполагая, что это правильно и игнорируя заботы о правильном дизайне, вот что возвращает номер первого столбца, который содержит значение NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...