Это происходит потому, что мы забыли указать,
что следует подсчитывать только тот товар, который есть в таблице заказов,
для этого потребуется добавить еще одно условие:
ORDERS.G_NO = GOODS.G_NO
Полная версия SQL-оператора, выполняющего нужное нам действие,
выглядит так:
SELECT CUSTOMERS.FIO, SUM( GOODS.PRICE * ORDERS.QTY ) AS A
FROM CUSTOMERS, GOODS, ORDERS
WHERE (CUSTOMERS.C_NO = ORDERS.C_NO) AND (ORDERS.G_NO = GOODS.G_NO)
GROUP BY ORDERS.C_NO;
Результат выполнения этого оператора представлен на рис. П3.1.
Группировку записей в таблице orders выполняет оператор group by. Его
действие можно ограничить с помощью оператора having. По сути, это
аналог where, но для group by. Синтаксис having аналогичен where:
HAVING <�условие>
336
Приложения
Рис. П3.1. Группировка записей:
вывод общей суммы всех заказов с группировкой по клиенту
Предположим, что нам нужно вывести всех клиентов, общая сумма всех
заказов которых превышает 500 (рублей, долларов — не важно).
Модифицированный запрос будет выглядеть так:
SELECT CUSTOMERS.FIO, SUM( GOODS.PRICE * ORDERS.QTY ) AS A
FROM CUSTOMERS, GOODS, ORDERS
WHERE (CUSTOMERS.C_NO = ORDERS.C_NO) AND (ORDERS.G_NO = GOODS.G_NO)
GROUP BY ORDERS.C_NO
HAVING A > 500;
Приложение 4
Программа phpMyAdmin
phpMyAdmin — Web-приложение, предназначенное для реализации функций
MySQL-клиента. Использовать данную программу намного удобнее, чем
стандартный MySQL-клиент — программу mysql, входящую в состав сервера
MySQL. phpMyAdmin обладает интуитивно понятным интерфейсом,
разобраться с которым может даже начинающий пользователь.
Особенность phpMyAdmin заключается в том, что для работы с базой данных
пользователю совсем не обязательно знать язык SQL. Программа позволяет
создавать, модифицировать и удалять таблицы и записи таблиц без знания
SQL. После каждой операции программа выводит SQL-запрос, который был
выполнен, так что с помощью данной программы можно легко и наглядно
выучить SQL.
Дистрибутив phpMyAdmin вы найдете в каталоге phpmyadmin. Распакуйте
архив в какой-нибудь каталог. Скопируйте файл config.sample.inc.php в файл
config.inc.php и откройте последний файл в любом текстовом редакторе —
это основной конфигурационный файл phpMyAdmin. Найдите в нем
следующую строку:
$cfg['Servers1][$i]['host'] = ‘localhosf;
Как вы уже догадались, данная переменная устанавливает имя MySQL-
сервера. В большинстве случаев значение locaihost изменять не нужно.
Затем добавьте следующую строку:
$cfg['Servers1][$i]['auth_type'] = ‘http’;
Данная переменная устанавливает тип аутентификации. Тип http
подразумевает ввод имени пользователя и пароля в окне, показанном на рис. П4.1.
Кроме типа аутентификации http можно использовать тип аутентификации
config, когда имя пользователя и пароль хранятся в файле конфигурации
338
Приложения
(тогда программа не будет их запрашивать). Но такой режим использовать не
рекомендуется из соображений безопасности.
Рис. П4.1. Окно для ввода имени пользователя и пароля
После входа в phpMyAdmin вы увидите список баз данных, доступных
пользователю, под именем которого вы вошли в программу. Вам нужно выбрать
одну из баз данных, с которой вы хотите работать (рис. П4.2). Если вашему
пользователю доступна только одна база данных, то вы сразу увидите список
таблиц этой базы данных (рис. П4.3).
Рис. П4.2. Выбор базы данных
Приложение 4. Программа phpMyAdmin
339
Рис. П4.3. Список таблиц
П4.1. Действия над таблицами
В колонке Действие (см. рис. П4.3) отображается список доступных с
конкретной таблицей действий (рис. П4.4). Вы можете просмотреть
содержимое таблицы, просмотреть структуру таблицы, произвести поиск по
таблице, вставить новую запись, удалить все записи и удалить таблицу.
П4.2. Создание новой таблицы.
Изменение структуры таблицы
Под списком таблиц будет форма для создания новой таблицы (рис. П4.5).
Вам нужно ввести имя таблицы (только латинские буквы и цифры!),
количество полей (Number of fields) и нажать кнопку Пошел.
340
Приложения
Рис.
5th Фев 2011
|
Теги:
|