Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Subquery returns more than 1 row, разобраться 
V
    Опции темы
fath_fast
Дата 1.7.2007, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 9.4.2007

Репутация: нет
Всего: нет



Делаю следующий запрос (примерно):

SELECT id FROM table WHERE name=(ТУТ ЗАПРОС КОТОРЫЙ ВОЗВРАЩАЕТ НЕСКОЛЬКО ЗНАЧЕНИЙ)...

На это мне база отвечает:

 Subquery returns more than 1 row


Вопрос можно ли это как-нибудь обойти без использования курсоров (СУБД MySQL)?
Спасибо.
PM MAIL   Вверх
Anark1
Дата 1.7.2007, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: 2
Всего: 11



Ты же сам пишешь что параметру name присваиваешь результат запроса, который возвращает несколько записей. Тут скорее всего и проблема. Как обойти? Нужно возвращать одно значение. Конкретнее сказать не могу так как ничего не знаю о твоей базе.


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
fath_fast
Дата 1.7.2007, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 9.4.2007

Репутация: нет
Всего: нет



У нас есть лист заказа где опредлён некторый список сотрудников (их id в базе), и указана дата выполнения заказа, там же (в листе заказа) как раз и расчитано сколько каждый заработал...
Нужно сделать отчёт-таблицу где за определённый помежуток времени получается список всех сотрудников  которые работали в этот период, и зарплата каждого за это время ...

т.е. имеем таблицы:

|order_list:
id_list  (PRIMARY KEY)
data_

|order_emp:
id_list   (FK)
id_employee (FK)
sum    - зарплата за этот заказ


Вот! Хотел обойтись одним запросом, но столкнулся с этой ошибкой... 
НАчинал с этого:
Код

SELECT id_employee FROM order_emp WHERE id_list=(SELECT id_list FROM order_list WHERE data_ BETWEEN '2007.06.18' AND '2007.06.21') GROUP BY id_employee

Что можете подсказать?


PM MAIL   Вверх
LSD
Дата 1.7.2007, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 24
Всего: 538



Код
WHERE name in (ТУТ ЗАПРОС КОТОРЫЙ ВОЗВРАЩАЕТ НЕСКОЛЬКО ЗНАЧЕНИЙ)



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
fath_fast
Дата 1.7.2007, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 9.4.2007

Репутация: нет
Всего: нет



LSD, СПАСИБО ОГРОМНОЕ!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.