понедельник, 28 мая 2007 г.

Сага о mysql

Возможно, это станет хорошей привычкой. Но пока просто один пост про мои приключения с mysql.

Есть табличка вида:

fund

+-------+------+------------+-----------+
| id_good | sum | id_manager | id_client |
+-------+------+------------+-----------+

id_good, id_manager, id_client - foreign_keys таблиц goods, managers & clients соотвественно.
Таблица отражает информацию о том, какой товар зарезервирован(id_good), в каком количестве(sum) и для кого - для какого-то манагера(id_manager) или для какого-то клиента(id_client).
Причем обычно, товар резервируется либо под клиента, либо под манагера. В таких случаях, одно из этих полей будет равно 0. И если делать запрос типа select из этой таблички для просмотра информации о товаре, который мы отложили, в каком количестве и для кого, то он будет иметь примерно такой вид:

select * from fund where id_manager=managers.id_manager and fund.id_client=clients.id_client;

В таком случае вся табличка выведена не будет, ибо в ней будут записи, в которых, к примеру id_manager=0, а id_client=10, тогда связка через id_manager не сработает и эта строка не выведется, что меня вообще не устраивает.

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

SELECT * FROM fund
LEFT JOIN managers ON fund.id_manager = managers.id_manager
LEFT JOIN clients ON clients.id_client = fund.id_client

Может кому пригодится... Или мне, через лет так дцать :)






Читать далее...

вторник, 8 мая 2007 г.

Google-таки рулит

Google-таки рулит. По-тихоньку начинаю осваивать все сервисы, предоставляемые мне Google. Сначала была просто почта, первое время использовал её совсем немного, но затем, осознав все её достоинства и удобства, полностью и окончательно перешел на использование ящика Google. И теперь рулю всеми своими mail ящиками на других серверах через Gmail (забираю почту и отправляю через gmail). Очень удобно.

Затем стал пользоваться поисковиком Google по умолчанию, вместо Яndex'а. Пока что, правда, никаких различий не нашел. Ищет и ищет :)

Потом открыл для себя Google.Picasa - отличнейшая программулина для работы с фотографиями, очень удобно и красиво (кстати, под *nix есть порт Picasa2?). В первый же день использования Picasa с её помощью нашел 3 фотки, которые, как я думал, куда-то внезапно делись :) И 1024 мегабайта для хранения фоток - как приятное дополнение, парочку опубликовал даже :)

Затем поставил плагин для FireFox и стал пользоваться Google.Блокнот. Несколько раз помогал. В связке с Огнелисом работать с Google.Блоконот очень удобно. Один клик - и блокнот под рукой.

А недавно открыл для себя и Google.Офис. Мне было необходимо сохранить документ, который можно будет просматривать из любой точки/с любого компа. Сохранил :)

Ещё я где-то в закладках сохранил ссылку на статью, которая рассказывает как в моей любимой Ubuntu смонтировать Google FS и использовать 3 гб пространства для почтового ящика как файлообменник. Руки дойдут - реализую, отпишусь.

Потом я поставил себе Google.Talk, правда из всей моей записной книжке Google.Talk никто не юзает и мне ещё не довелось использовать его по прямому назначению. Пока что он для меня служит как оповещатель о доставке почты на мой ящик. Удобно.

Заплатили бы мне, что ли, за такой PR ;))

Есть, конечно, и те приложения/фишки, которые мне не совсем по вкусу. Google.Desktop & Google.Notifier - не понравились. Google.Desktop слишком громоздкий, Google.Notifier слишком тривиален, Google.Talk отличная альтернатива.

Ещё хотелось бы, чтобы появилась такая функция, как импорт сообщений в Google.Blogger из других блоггеров/ЖЖ. Я бы экспортировал свои записи из livejournal.com. :)


Читать далее...