powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Очень сложный запрос (SQL)!
8 сообщений из 8, страница 1 из 1
Очень сложный запрос (SQL)!
    #33025415
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно выбрать из справочника в отчет несколько записей.
Есть таблица товарно транспортных накладных.
В ней есть несколько реквизитов организаций.
Заказчик
Грузоотправитель
Грузополучатель
Их нужно заполнять из справочника. И из справочника нужно брать значения для отчета.
И нужно желательно один справочник и на грузоотправителя и т.д.
Как это сделать с помощью одного SQL запроса?
...
Рейтинг: 0 / 0
Очень сложный запрос (SQL)!
    #33025450
Фотография Castor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
напиши скрипты - подумаем
...
Рейтинг: 0 / 0
Очень сложный запрос (SQL)!
    #33025791
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Castorнапиши скрипты - подумаем

Ну если бы я знал правильный скрипт - то не писал сюда. А что есть не работает.

SELECT TTN.REC, ORGAN.NAIM, ORGAN1.NAIM
FROM TTN
LEFT OUTER JOIN ORGAN ON (TTN.ORGAN_VLAD = ORGAN.REC)
LEFT OUTER JOIN ORGAN ORGAN1 ON (TTN.GRUZ_OTPR = ORGAN1.REC)

Мне нужно чтобы в отчете было

Заказчик ООО "Метель"
Грузоотправитель ООО "Муром"
Грузополучатель ООО "Фининвест"

И наименования всех этих фирм бралось из одного справочника с помощью 1 SQL запроса. У меня получается выбрать только одну организацию. Если пытаюсь выбрать есче одну то вообще пустые строчки.
...
Рейтинг: 0 / 0
Очень сложный запрос (SQL)!
    #33026361
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это сложный запрос?
Давай структуру таблиц!, тогда и запрос будет.
________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
Очень сложный запрос (SQL)!
    #33026476
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelikkЭто сложный запрос?
Давай структуру таблиц!, тогда и запрос будет.
________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц

[Таблица]
1. Ид
2. Номер товарно транспортной накладной
3. Дата
4. ид_Организация
5. Марка автомобиля
6. ид_Организация - владелец автотранспорта
7. ид_Заказчик
8. ид_Грузоотправитель
9. ид_Грузополучатель

[справочник организаций]
1. Ид
2. Наименование организации

Вот мне нужно добавить в таблицу данные из справочника в поля -4,6,7,8,9.
И вывести отчет выбрав собрав все данные из справочника.
...
Рейтинг: 0 / 0
Очень сложный запрос (SQL)!
    #33033999
Фотография optimizer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в запросе надо несколько раз определить спарвочник организаций
...
Рейтинг: 0 / 0
Очень сложный запрос (SQL)!
    #33045897
Фотография SanyL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо чтото я не понимаю.... У тебя изначально эта таблица должна содержать идентификаторы организаций!!! А не их названия!!! Если их нет - то как таблица связана у тебя со справочником? - получается ни как? Значит есть проблема целостности базы!

Если таблица будет заполнена как положено: то запрос чтобы получить нужное тебе будет иметь вид:


DECLARE
t1 Varchar(200),
t2 varchar(200),
t3 varchar(200),
Number = int
SET Number = [Таблица].ид
SET t1 = (SELECT Наименование организации FROM [справочник организаций]
WHERE [справочник организаций].ид = (SELECT ид_Заказчик FROM
[Таблица] WHERE ид = Number))
SET t2 = (SELECT Наименование организации FROM [справочник организаций]
WHERE [справочник организаций].ид = (SELECT ид_Грузоотправитель
FROM [Таблица] WHERE ид = Number))
SET t2 = (SELECT Наименование организации FROM [справочник организаций]
WHERE [справочник организаций].ид = (SELECT ид_Грузополучатель
FROM [Таблица] WHERE ид = Number))
SELECT t1, t2, t3

Это так на вскидку - особо не думая - млжно что то и получше придумать... написано на T-SQL
...
Рейтинг: 0 / 0
Очень сложный запрос (SQL)!
    #33045922
Фотография SanyL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно сделать в запросе следующее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT spr1.Наименование организации, spr2.Наименование организации,
         spr3.Наименование организации
FROM [Таблица] AS Table
INNER JOIN [справочник организаций] AS spr1 
                  ON spr1.ид = Table.ид_Заказчик
INNER JOIN [справочник организаций] AS spr2 
                  ON spr2.ид = Table.ид_Грузоотправитель
INNER JOIN [справочник организаций] AS spr3 
                  ON spr3.ид = Table.ид_Грузоотправитель

...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Очень сложный запрос (SQL)!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]