суббота, 3 августа 2013 г.

Удалить дубликаты из таблицы mysql (Remove duplicates in table mysql)

Есть таблица test_table вида:

duplicate_idvalue
10
20
31
41
52
62
Задача: необходимо удалить строки с дубликатами значений value

Решение:
DELETE FROM test_table WHERE duplicate_id NOT IN 
(SELECT * FROM (SELECT duplicate_id FROM test_table
                GROUP BY value) AS d); 


Результат выполнения:
duplicate_idvalue
10
31
52

Возможно для выполнения скрипта придется отключить опцию безопасного обновления таблицы в mySQL:
 Edit -> Preferences -> SQL Queries ->"Safe Updates" и сделать реконнект.

вторник, 19 февраля 2013 г.

C#: Добавить префикс всем дочерним элементам объекта XmlElement:

Новый префикс проставляется в результате рекурсивного обхода всего дерева:

        private void SetPrefix(String prefix, XmlNode node) {
            foreach (XmlNode n in node.ChildNodes)
            {
                SetPrefix(prefix, n);
                n.Prefix = prefix;
            }
        }


понедельник, 28 января 2013 г.

Заполнить dojo 1.3 FilteringSelect ItemFileReadStore, используя javascript

Задача состоит в том, чтобы заполнить выпадающий список FilteringSelect списком значений, полученным от какого-либо плагина.
Решение:

//получаем ссылку на filteingSelect
    var nameoptions = dijit.byId('resourcename');
//обнуляем его
    nameoptions.innerHTML = "";   
//создаем пустой массив items
    var items = [];

    for (i = 0; i < plugin.Count; i++) {
//заполняем массив item объектами
        items[i] = {
                    abbr: plugin.abbrItems(i),
                    name:  plugin.nameItems(i)
                    };
        }
// заполнение data для
ItemFileReadStore
        var options = {
            identifier: 'abbr',
            label: 'name',
            items: items
        };
    nameoptions.store = new dojo.data.ItemFileReadStore({ data: options });