porhov
Зарегистрирован: 13.02.2005 Сообщения: 15
|
Добавлено: Вт Июн 28 2005 12:10 Заголовок сообщения: |
|
|
CREATE DATABASE `test` ;
--
-- Структура таблицы `клиенты`
--
CREATE TABLE "клиенты" (
"Id_klient" int(11) NOT NULL default '0',
"Фамилия клиента" text NOT NULL,
"Имя клиента" text NOT NULL,
"Отчество клиента" text NOT NULL,
"Номер счета" int(11) NOT NULL default '0',
"Остаток" int(11) NOT NULL default '0',
"Номер паспорта" int(11) NOT NULL default '0',
"id_filial" int(11) NOT NULL default '0',
PRIMARY KEY ("Id_klient"),
KEY "Id_klient" ("Id_klient"),
KEY "Id_klient_2" ("Id_klient"),
FULLTEXT KEY "Фамилия клиента" ("Фамилия клиента")
);
--
-- Дамп данных таблицы `клиенты`
--
INSERT INTO `клиенты` VALUES (1, 'Прокофьев', 'Алексей', 'Валерьевич', 12, 133, 454545, 1);
INSERT INTO `клиенты` VALUES (2, 'Прокофьев ', 'Алексей', 'Валерьевич', 13, 345, 454545, 2);
INSERT INTO `клиенты` VALUES (3, 'Прокофьев ', 'Алексей', 'Валерьевич', 123, 3445, 454545, 3);
INSERT INTO `клиенты` VALUES (4, 'Урсова', 'Ольга', 'Владимировна', 234, 634, 121212, 1);
INSERT INTO `клиенты` VALUES (5, 'Урсова', 'Ольга', 'Владимировна', 23234, 633423, 121212, 2);
INSERT INTO `клиенты` VALUES (6, 'Урсов', 'Олег', 'Владимирович', 233454, 6334, 222222, 3);
INSERT INTO `клиенты` VALUES (7, 'Урсов', 'Олег', 'Владимирович', 233454, 6334, 111111, 2);
INSERT INTO `клиенты` VALUES (8, 'Урсов', 'Олег', 'Владимирович', 233454, 6334, 111111, 1);
INSERT INTO `клиенты` VALUES (9, 'Урсов', 'Олег', 'Владимирович', 23374, 6334, 111111, 3);
INSERT INTO `клиенты` VALUES (10, 'Урсов', 'Олег', 'Владимирович', 234074, 6334, 222222, 1);
INSERT INTO `клиенты` VALUES (11, 'Урсов', 'Олег', 'Владимирович', 200074, 6304, 222222, 2);
INSERT INTO `клиенты` VALUES (12, 'Петров', 'Александр', 'Иванович', 567, 4563, 777777, 3);
INSERT INTO `клиенты` VALUES (13, 'Никитенок', 'Игорь ', 'Леонидович', 8768, 123234, 676767, 2);
INSERT INTO `клиенты` VALUES (14, 'Иванов', 'Иван', 'Иванович', 768, 3456, 888888, 1);
INSERT INTO `клиенты` VALUES (15, 'Кудряшова', 'Ольга', 'Владимировна', 9080, 67867, 234234, 3);
INSERT INTO `клиенты` VALUES (16, 'Пронин', 'Яков', 'Александрович', 123, 78978, 67563, 2);
INSERT INTO `клиенты` VALUES (17, 'Пронин', 'Яков', 'Александрович', 123, 78978, 67563, 1);
INSERT INTO `клиенты` VALUES (18, 'Драгунов', 'Алексей', 'Владиславович', 8998, 11, 131314, 1);
-- --------------------------------------------------------
--
-- Структура таблицы `сотрудники`
--
CREATE TABLE "сотрудники" (
"id_sotr" int(11) NOT NULL default '0',
"id_filial" int(11) NOT NULL default '0',
"Фамилия сотрудника" text NOT NULL,
PRIMARY KEY ("id_sotr")
);
--
-- Дамп данных таблицы `сотрудники`
--
INSERT INTO `сотрудники` VALUES (1, 1, 'Петров');
INSERT INTO `сотрудники` VALUES (2, 1, 'Иванов');
INSERT INTO `сотрудники` VALUES (3, 2, 'Никитенок');
INSERT INTO `сотрудники` VALUES (4, 3, 'Косьмин');
INSERT INTO `сотрудники` VALUES (5, 1, 'Прокофьев');
-- --------------------------------------------------------
--
-- Структура таблицы `филиал`
--
CREATE TABLE "филиал" (
"id_filial" int(10) NOT NULL default '0',
"Название филиала" text NOT NULL,
"Адрес" text NOT NULL,
PRIMARY KEY ("id_filial")
);
--
-- Дамп данных таблицы `филиал`
--
INSERT INTO `филиал` VALUES (1, 'Псковбанк', 'Октябрьский ');
INSERT INTO `филиал` VALUES (2, 'Балтийский', 'Яна-Фабрициуса');
INSERT INTO `филиал` VALUES (3, 'Сбербанк', 'Рижский');
Требуется:
Написать выражения реляционной алгебры и операторы SQL позволяющие определить:
- Список клиентов имеющих счета во всех филиалах
- Список клиентов, у которых есть счет в филиале, где работает его однофамилец и тезка (Такоеже ФИО) |
|
porhov
Зарегистрирован: 13.02.2005 Сообщения: 15
|
Добавлено: Ср Июн 29 2005 07:53 Заголовок сообщения: |
|
|
Имеется база:
-- phpMyAdmin SQL Dump
-- version 2.6.1-pl3
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Июн 28 2005 г., 16:50
-- Версия сервера: 4.1.8
-- Версия PHP: 4.3.10
--
-- БД: `test`
--
CREATE DATABASE `test` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;
USE test;
-- --------------------------------------------------------
--
-- Структура таблицы `клиенты`
--
CREATE TABLE `клиенты` (
`Id_klient` int(11) NOT NULL default '0',
`Фамилия_клиента` text NOT NULL,
`Имя клиента` text NOT NULL,
`Отчество_клиента` text NOT NULL,
`Номер_счета` int(11) NOT NULL default '0',
`Остаток` int(11) NOT NULL default '0',
`Номер_паспорта` int(11) NOT NULL default '0',
`id_filial` int(11) NOT NULL default '0',
PRIMARY KEY (`Id_klient`),
KEY `Id_klient` (`Id_klient`),
KEY `Id_klient_2` (`Id_klient`),
FULLTEXT KEY `Фамилия клиента` (`Фамилия_клиента`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы `клиенты`
--
INSERT INTO `клиенты` VALUES (1, 'Прокофьев', 'Алексей', 'Валерьевич', 12, 133, 454545, 1);
INSERT INTO `клиенты` VALUES (2, 'Прокофьев ', 'Алексей', 'Валерьевич', 13, 345, 454545, 2);
INSERT INTO `клиенты` VALUES (3, 'Прокофьев ', 'Алексей', 'Валерьевич', 123, 3445, 454545, 3);
INSERT INTO `клиенты` VALUES (4, 'Урсова', 'Ольга', 'Владимировна', 234, 634, 121212, 1);
INSERT INTO `клиенты` VALUES (5, 'Урсова', 'Ольга', 'Владимировна', 23234, 633423, 121212, 2);
INSERT INTO `клиенты` VALUES (6, 'Урсов', 'Олег', 'Владимирович', 233454, 6334, 222222, 3);
INSERT INTO `клиенты` VALUES (7, 'Урсов', 'Олег', 'Владимирович', 233454, 6334, 111111, 2);
INSERT INTO `клиенты` VALUES (8, 'Урсов', 'Олег', 'Владимирович', 233454, 6334, 111111, 1);
INSERT INTO `клиенты` VALUES (9, 'Урсов', 'Олег', 'Владимирович', 23374, 6334, 111111, 3);
INSERT INTO `клиенты` VALUES (10, 'Урсов', 'Олег', 'Владимирович', 234074, 6334, 222222, 1);
INSERT INTO `клиенты` VALUES (11, 'Урсов', 'Олег', 'Владимирович', 200074, 6304, 222222, 2);
INSERT INTO `клиенты` VALUES (12, 'Петров', 'Александр', 'Иванович', 567, 4563, 777777, 3);
INSERT INTO `клиенты` VALUES (13, 'Никитенок', 'Игорь ', 'Леонидович', 8768, 123234, 676767, 2);
INSERT INTO `клиенты` VALUES (14, 'Иванов', 'Иван', 'Иванович', 768, 3456, 888888, 1);
INSERT INTO `клиенты` VALUES (15, 'Кудряшова', 'Ольга', 'Владимировна', 9080, 67867, 234234, 3);
INSERT INTO `клиенты` VALUES (16, 'Пронин', 'Яков', 'Александрович', 123, 78978, 67563, 2);
INSERT INTO `клиенты` VALUES (17, 'Пронин', 'Яков', 'Александрович', 123, 78978, 67563, 1);
INSERT INTO `клиенты` VALUES (18, 'Драгунов', 'Алексей', 'Владиславович', 8998, 11, 131314, 1);
-- --------------------------------------------------------
--
-- Структура таблицы `сотрудники`
--
CREATE TABLE `сотрудники` (
`id_sotr` int(11) NOT NULL default '0',
`id_filial` int(11) NOT NULL default '0',
`Фамилия сотрудника` text NOT NULL,
PRIMARY KEY (`id_sotr`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы `сотрудники`
--
INSERT INTO `сотрудники` VALUES (1, 1, 'Петров');
INSERT INTO `сотрудники` VALUES (2, 1, 'Иванов');
INSERT INTO `сотрудники` VALUES (3, 2, 'Никитенок');
INSERT INTO `сотрудники` VALUES (4, 3, 'Косьмин');
INSERT INTO `сотрудники` VALUES (5, 1, 'Прокофьев');
-- --------------------------------------------------------
--
-- Структура таблицы `филиал`
--
CREATE TABLE `филиал` (
`id_filial` int(10) NOT NULL default '0',
`Название_филиала` text NOT NULL,
`Адрес` text NOT NULL,
PRIMARY KEY (`id_filial`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы `филиал`
--
INSERT INTO `филиал` VALUES (1, 'Псковбанк', 'Октябрьский ');
INSERT INTO `филиал` VALUES (2, 'Балтийский', 'Яна-Фабрициуса');
INSERT INTO `филиал` VALUES (3, 'Сбербанк', 'Рижский');
НУЖНО: ОПРЕДЕЛИТЬ список клиентов, имеющих счета во всех филиалах
запускаю запрос
SELECT Номер_паспорта, Фамилия_rклиента
FROM [select distinct Номер_паспорта,Фамилия_клиента, id_filial from Клиенты]
GROUP BY Клиенты.Номер_паспорта, Клиенты.Фамилия_клиента
HAVING (((Count(Клиенты.id_filial))=(select count(id_filial) from филиал)));
получаю ошибку
Возможно у Вас ошибка в SQL-парсере. Пожалуйста, проверьте внимательно Ваш запрос и соответствие кавычек. Возможно также, что Вы пытаетесь закачать бинарный файл вне поля quoted text area. Вы можете попробовать выполнить свой запрос через интерфейс командной строки MySQL. Описание ошибки MySQL сервера дано ниже, возможно оно поможет понять, что же произошло. Если у Вас все равно возникают проблемы или если парсер выдает ошибки там, где интерфейс командной строки работает успешно, попробуйте изменить свой SQL запрос до простых запросов и определить, какой именно вызывает проблемы. Вы можете также прислать отчет об ошибке вместе с блоком данных (секция CUT):
----BEGIN CUT----
eNp9j81OwkAUhffzFHfBok3aoeVPmMQFNrU0KW1tC8QYQ5Cf2KRAbYvBHRp3LtybsPMB2JAQUXyF
6RvZgpHIgs3kZs653zlXtizDIiCJIOVAk3UCZahAvlREtpP8zxGSmjaBjNojEN55ficI+wH23Bvs
3/rcPeRw7gRyglDIimJWKIIgkIJIikXw+sMKyFMfMqj+YF9oBApYxGV+2Jmihm2BYXNQVWTd4aAp
J0ktdwSqDCUsILNeJQm4hEXe9/LIrJmphTPslJHHogAtVdcdpFV1hUAw4SfRgC+jbYgta7LkAJ3T
Df2ky3jWpt90ET8m7yaexU90wQF9p4tEXNE1XcWv7YB+pBNd0q9UR+eWUYersO/1uxH03DByR8lw
jHgA/M/jwO21B67ndjwYBOMh0Le9HL9cI8UyGiacXR4I+PgNB95jDVCt2lR1BRiGkcaTUcQcLP/1
Y9lT5vfu7ta4V3bV4+ddRBK2Zln2B0n1COk=
----END CUT----
----BEGIN RAW----
ERROR: C1 C2 LEN: 8 9 365
STR: ?
CVS: $Id: sqlparser.lib.php,v 2.27 2004/11/05 00:41:55 lem9 Exp $
MySQL: 4.1.8-max
USR OS, AGENT, VER: Win IE 6.0
PMA: 2.6.1-pl3
PHP VER,OS: 4.3.10 WINNT
LANG: ru-utf-8
SQL: SELECT Номер_паспорта, Фамилия_rклиента
FROM [select distinct Номер_паспорта,Фамилия_клиента, id_filial from Клиенты]
GROUP BY Клиенты.Номер_паспорта, Клиенты.Фамилия_клиента
HAVING (((Count(Клиенты.id_filial))=(select count(id_filial) from филиал)))
----END RAW----
SQL-запрос:
SELECT Номер_паспорта, Фамилия_rклиента FROM [select distinct Номер_паспорта,Фамилия_клиента, id_filial from Клиенты] GROUP BY Клиенты.Номер_паспорта, Клиенты.Фамилия_клиента HAVING (((Count(Клиенты.id_filial))=(select count(id_filial) from филиал)))
Ответ MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[select distinct Номер_паспорта,Фамилия_кл
ПОМОГИТЕ!!!!!!!!!!!! |
|