|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.04.2012, 14:39 | #1 |
Форумчанин
Регистрация: 22.11.2011
Сообщений: 127
|
Составить интересный запрос
Здравствуйте друзья. У меня задача созрела интересная и сложная, не могу сам догадаться, может кто подскажет?
Есть две таблицы связанные по полю Договор, в одной организации и услуги, в другой Дата Тоесть Table1: Select Договор, организация, услуга from Договора Table2: Select Договор. Дата from Акты структура таблицы 1 такая: Договор-------------Организация-----------Услуга ОФ010-567885---------Тест---------------Комплектующие ОФ013-567885---------Тест---------------Тех.Работа ОФ010-892765---------Тест---------------Комплектующие ОФ013-892765---------Тест---------------Тех.Работа ОФ010-239653---------Тест---------------Комплектующие ОФ013-239653---------Тест---------------Тех.Работа ОФ013-913571---------Тест---------------Тех.Работа ОФ010-913571---------Тест---------------Комплектующие ОФ010-195151---------Тест---------------Комплектующие ОФ013-195151---------Тест---------------Тех.Работа ОФ010-315259---------Тест---------------Комплектующие ОФ013-315259---------Тест---------------Тех.Работа а во второй по довогорам дата, строка создается когда работа выполнена. Вопрос: А как можно сделать выборку только договоров вида ОФ013 у которых в таблице Акты нет по этому же номеру договора записи (акт) по услуге ОФ010, я пробовал через exists но результат не тот. Код:
Последний раз редактировалось SovereignSun; 16.04.2012 в 17:40. |
16.04.2012, 17:27 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А так (при условии, что в СУБД есть функции LEFT и RIGHT, если нет, то должен быть аналог). А вообще нужно писать,что код договора - это правые 6 байтов, а левые 5 - код услуги
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
16.04.2012, 17:29 | #3 |
Форумчанин
Регистрация: 22.11.2011
Сообщений: 127
|
Код:
СУБД SQL Server 2008 Enterprise Весь день мучаюсь с этим запросом.. уже голова болит Оо все понял.. Код:
Последний раз редактировалось Stilet; 16.04.2012 в 17:51. |
16.04.2012, 17:41 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Основная беда в том, что в одно поле засунули и код договора, и код услуги. Были бы отдельно - половина проблем отпала бы сама собой
ADD Акты_View по LEFT JOIN прицепить Розн_23.dbo. зачем везде цеплять? И без этого норм будет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 16.04.2012 в 17:47. |
16.04.2012, 17:43 | #5 |
Форумчанин
Регистрация: 22.11.2011
Сообщений: 127
|
ну сейчас уже ладно. через CAST кое-как их разделил, если учесть что бывает номер длинее 6 цифр бывает. Теперь проблема вывода связанной таблицы.
Только что пробовал, left join - еще записи, неправильные, inner join вообще не выдает записей.. right join смысла нет. У меня там все намного сложнее по запросу на самом деле.. это просто кусок.. там разные базы данных я через один запрос их все вывожу и сравниваю в программе потом. Просто тестирую на _23 базе. Последний раз редактировалось SovereignSun; 16.04.2012 в 17:58. |
16.04.2012, 18:41 | #6 | |
Форумчанин
Регистрация: 26.03.2012
Сообщений: 665
|
Цитата:
|
|
17.04.2012, 09:18 | #7 |
Форумчанин
Регистрация: 22.11.2011
Сообщений: 127
|
А там разделитель вот "-", поэтому что париться.. пусть и будет разделителем левой и правой части. До сих не получается с привязкой таблицы.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интересный sql запрос с картинками | Radzhab | Microsoft Office Access | 4 | 15.05.2011 01:18 |
Составить запрос. ?? | Agapov_stas | SQL, базы данных | 8 | 21.07.2010 19:32 |
Как составить запрос? | jeka5555 | SQL, базы данных | 3 | 09.09.2009 10:12 |
Запрос в Visal Basic.NET(Очень интересный код) | reyn90 | Помощь студентам | 14 | 21.06.2009 17:59 |
Необходимо составить запрос | span4 | SQL, базы данных | 17 | 05.04.2009 11:43 |