Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

SQL-запрос: ?????

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных
Предыдущая тема :: Следующая тема  
Автор Сообщение
porhov



Зарегистрирован: 13.02.2005
Сообщения: 15

СообщениеДобавлено: Ср Июн 29 2005 08:55    Заголовок сообщения: SQL-запрос: ????? Ответить с цитатой

Имеется база:

-- 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 Номер_паспорта,Фамилия_кл



ПОМОГИТЕ!!!!!!!!!!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
porhov



Зарегистрирован: 13.02.2005
Сообщения: 15

СообщениеДобавлено: Ср Июн 29 2005 09:27    Заголовок сообщения: Ответить с цитатой

Заменил, тьеперь не понимаю ошибки LIMIT 0 , 30

-- phpMyAdmin SQL Dump
-- version 2.6.1-pl3
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Июн 29 2005 г., 10:27
-- Версия сервера: 4.1.8
-- Версия PHP: 4.3.10
--
-- БД: `porhov`
--
CREATE DATABASE `porhov` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;
USE porhov;

-- --------------------------------------------------------

--
-- Структура таблицы `filial`
--

CREATE TABLE `filial` (
`id_filial` int(10) NOT NULL default '0',
`Name_filial` text NOT NULL,
`Adres` text NOT NULL,
PRIMARY KEY (`id_filial`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

--
-- Дамп данных таблицы `filial`
--

INSERT INTO `filial` VALUES (1, 'Псковбанк', 'Октябрьский ');
INSERT INTO `filial` VALUES (2, 'Балтийский', 'Яна-Фабрициуса');
INSERT INTO `filial` VALUES (3, 'Сбербанк', 'Рижский');

-- --------------------------------------------------------

--
-- Структура таблицы `klient`
--

CREATE TABLE `klient` (
`Id_klient` int(11) NOT NULL default '0',
`familia_klienta` text NOT NULL,
`imy_klienta` text NOT NULL,
`otchestvo_klienta` text NOT NULL,
`nomer_csheta` int(11) NOT NULL default '0',
`ostatok` int(11) NOT NULL default '0',
`nomer_pasporta` int(11) NOT NULL default '0',
`id_filial` int(11) NOT NULL default '0',
PRIMARY KEY (`Id_klient`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

--
-- Дамп данных таблицы `klient`
--

INSERT INTO `klient` VALUES (1, 'Прокофьев', 'Алексей', 'Валерьевич', 12, 133, 454545, 1);
INSERT INTO `klient` VALUES (2, 'Прокофьев ', 'Алексей', 'Валерьевич', 13, 345, 454545, 2);
INSERT INTO `klient` VALUES (3, 'Прокофьев ', 'Алексей', 'Валерьевич', 123, 3445, 454545, 3);
INSERT INTO `klient` VALUES (4, 'Урсова', 'Ольга', 'Владимировна', 234, 634, 121212, 1);
INSERT INTO `klient` VALUES (5, 'Урсова', 'Ольга', 'Владимировна', 23234, 633423, 121212, 2);
INSERT INTO `klient` VALUES (6, 'Урсов', 'Олег', 'Владимирович', 233454, 6334, 222222, 3);
INSERT INTO `klient` VALUES (7, 'Урсов', 'Олег', 'Владимирович', 233454, 6334, 111111, 2);
INSERT INTO `klient` VALUES (8, 'Урсов', 'Олег', 'Владимирович', 233454, 6334, 111111, 1);
INSERT INTO `klient` VALUES (9, 'Урсов', 'Олег', 'Владимирович', 23374, 6334, 111111, 3);
INSERT INTO `klient` VALUES (10, 'Урсов', 'Олег', 'Владимирович', 234074, 6334, 222222, 1);
INSERT INTO `klient` VALUES (11, 'Урсов', 'Олег', 'Владимирович', 200074, 6304, 222222, 2);
INSERT INTO `klient` VALUES (12, 'Петров', 'Александр', 'Иванович', 567, 4563, 777777, 3);
INSERT INTO `klient` VALUES (13, 'Никитенок', 'Игорь ', 'Леонидович', 8768, 123234, 676767, 2);
INSERT INTO `klient` VALUES (14, 'Иванов', 'Иван', 'Иванович', 768, 3456, 888888, 1);
INSERT INTO `klient` VALUES (15, 'Кудряшова', 'Ольга', 'Владимировна', 9080, 67867, 234234, 3);
INSERT INTO `klient` VALUES (16, 'Пронин', 'Яков', 'Александрович', 123, 78978, 67563, 2);
INSERT INTO `klient` VALUES (17, 'Пронин', 'Яков', 'Александрович', 123, 78978, 67563, 1);
INSERT INTO `klient` VALUES (18, 'Драгунов', 'Алексей', 'Владиславович', 8998, 11, 131314, 1);

-- --------------------------------------------------------

--
-- Структура таблицы `sotr`
--

CREATE TABLE `sotr` (
`id_sotr` int(11) NOT NULL default '0',
`id_filial` int(11) NOT NULL default '0',
`familia_sotr` text NOT NULL,
PRIMARY KEY (`id_sotr`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

--
-- Дамп данных таблицы `sotr`
--

INSERT INTO `sotr` VALUES (1, 1, 'Петров');
INSERT INTO `sotr` VALUES (2, 1, 'Иванов');
INSERT INTO `sotr` VALUES (3, 2, 'Никитенок');
INSERT INTO `sotr` VALUES (4, 3, 'Косьмин');
INSERT INTO `sotr` VALUES (5, 1, 'Прокофьев');


Запрос

SELECT 'nomer_pasporta', 'familia_klienta'
FROM [select distinct 'nomer_pasporta', 'familia_klienta', 'id_filial' from 'klient']
GROUP BY 'klient.nomer_pasporta', 'klient.familia_klienta'
HAVING (((Count('klient.id_filial'))=(select count('id_filial') from 'filial')))

ОШИБКА

SQL-запрос:

SELECT 'nomer_pasporta', 'familia_klienta'
FROM [
SELECT DISTINCT 'nomer_pasporta', 'familia_klienta', 'id_filial'
FROM 'klient']
GROUP BY 'klient.nomer_pasporta', 'klient.familia_klienta'
HAVING (

(
(
Count( 'klient.id_filial' )
) = (
SELECT count( 'id_filial' )
FROM 'filial' )
)
)
LIMIT 0 , 30
Ответ 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 'nomer_pasporta', 'familia_klienta', 'id_filial

Помогите!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных Часовой пояс: GMT + 3
Страница 1 из 1

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


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...