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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пересечение таблиц 
:(
    Опции темы
DEER
Дата 15.7.2005, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

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



Подскажите плиз, а то совсем запутался
В SQL UNION это объединение двух сущностей(выборок там или таблиц),
А какой оператор чтобы были только одинаковые записи(т.е. пересечение)?


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
LSD
Дата 15.7.2005, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Код
select * from table1
 intersect
select * from table2


Это сообщение отредактировал(а) LSD - 15.7.2005, 10:58


--------------------
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   Вверх
DEER
Дата 15.7.2005, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

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



что - то не пошло
Добавлено @ 11:06
этот оператор не под все СУБД идёт?


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
LSD
Дата 15.7.2005, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Цитата(DEER @ 15.7.2005, 12:05)
этот оператор не под все СУБД идёт?

Не все СУБД полностью поддерживаю все спецификации SQL, именно по этому:
Цитата
Обязательно указание:
1. Базы данных и версии (Paradox 7.0, MS SQL Server 2000 и т.п.)
2. Способа доступа (ADO, BDE и т.д.)
3. Среды программирования (VC++, Delphi и т.д.)



--------------------
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   Вверх
DEER
Дата 15.7.2005, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

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



извините...
Задача была чтоб работало под => СУБД MS SQL SERVER 2000, MySQL 5.0 и ещё под ORACLE.
Пишу сейчас запросы под MySQL в программе MySQL-Front (это графическая облочка служит для удовного просмотра редактирования данных)
Среда программирования в данном вопросе значения по моему не иммет
Задача состоит в следующем.
Сделать из одной и той же таблицы данные с разными критериями отбора и оставить данные повторяющиеся в обоих выборках.
Код

SELECT employee.ID
FROM employee
WHERE employee.Role_ID = 3
ВОТ ТУТ НАДО ОПЕРАТОР ПЕРЕСЕЧЕНИЯ
SELECT employee.ID
FROM employee
WHERE employee.Role_ID = 4



--------------------
 
PM MAIL WWW ICQ MSN   Вверх
LSD
Дата 15.7.2005, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Цитата(Oreilly)
INTERSECT Set Operator 
--------------------------------------------------------------------------------
The INTERSECT set operator retrieves the rows of two or more queries where the rows of the result sets are identical in both the first and second (and possibly more) queries. In some ways, INTERSECT is a lot like an INNER JOIN operation.

INTERSECT is in a class of keywords called set operators. Other set operators include EXCEPT and UNION. All set operators are used to simultaneously manipulate the result set of two or more queries; hence the term "set operators."

DB2 - Supported with limitations
MySQL - Not supported
Oracle - Supported with limitations
PostgreSQL - Supported with limitations
SQL Server - Not supported


А в твоем случае проще сделать так:
Код
SELECT employee.ID    
  FROM employee t1, employee t2
  where t1.Role_ID = 3 and t2.Role_ID = 4 and t1.ID = t2.ID



--------------------
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   Вверх
DEER
Дата 15.7.2005, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

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



Ответ от сервера:
Цитата
Uniknown table 'employee' in field list

Я думаю он ругается на объявление t2
Добавлено @ 11:46
Код

SELECT t1.ID     
  FROM employee t1, employee t2    
  where t1.Role_ID = 3 and t2.Role_ID = 4 and t1.ID = t2.ID

так не ругается, но в ответ попадает объединение, а не пересечение


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
DEER
Дата 15.7.2005, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

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



Всё разобрался спасибо


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

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

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

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

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

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


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

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

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

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

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


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

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


 




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


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

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