[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работает запрос
Lightt
Есть три таблицы
order_user
order
client

Первые две обращаются к третьей. Но при попытке вывести запрос выдает ошибку.


select 
client.FIO AS order_ispolnitel,
client.FIO AS order_avtor
from order_user
left join orders on orders.id = order_user.id_orders
left join client on client.id = orders.id_autor
left join client on client.id = order_user.id_executors


Есть таблица client где список всех пользователей, при добавлении
1 уходит в id_autor таблицы order
2 в id_executors таблицы order_user

Если убрать один из left join то запрос работает, но выводит в двух столбцах одно и то же... как сделать так чтобы он правильно считывал id с обеих таблиц?




Спустя 41 минута, 28 секунд (22.05.2011 - 21:34) T1grOK написал(а):

select
client.FIO AS order_ispolnitel,
client.FIO AS order_avtor
from order_user
left join orders on orders.id = order_user.id_orders
left join client on client.id = orders.id_autor AND client.id = order_user.id_executors

Что то типо этого....

Спустя 11 минут, 17 секунд (22.05.2011 - 21:45) Lightt написал(а):
Нет, не получается, так на все Null выдает...

Спустя 5 минут, 51 секунда (22.05.2011 - 21:51) neadekvat написал(а):
Таблицы client надо как-то обозначить. Если я вообще догнал логику запроса.

SELECT t1.FIO AS order_ispolnitel, 
t2.FIO AS order_avtor
FROM order_user
LEFT JOIN orders on orders.id = order_user.id_orders
LEFT JOIN client t1 ON t1.id = orders.id_autor
LEFT JOIN client t2 ON t2.id = order_user.id_executors

Спустя 10 минут, 52 секунды (22.05.2011 - 22:02) Lightt написал(а):
Нет, в том то и дело, что таблица client одна... на нее ссылаются две другие таблицы
Типа такого

client
id name
1 ggg
2 ffff

orders
id id_client
1 1

order_user
id id_client
1 2

А вывести должен

первое второе
ggg fff

А выводит либо ошибку либо одно из двух, смотря что удалить
первое второе
ggg ggg
первое второе
fff fff

Спустя 2 минуты, 13 секунд (22.05.2011 - 22:04) neadekvat написал(а):
Я понимаю, что она одна.
В запросе то их две. Аналогию из реально мира... Это как многоканальный телефон. Номер набираешь один, а общаться можешь с разными операторами (строками).
Пробовал мой запрос?

Спустя 6 минут, 57 секунд (22.05.2011 - 22:11) Lightt написал(а):
Блин, опять туплю xD неправильно тебя понял, думал ты имеешь ввиду какуюто таблицу под t1 t2 =)
Спасибо большое =) все работает biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.