Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Оператор Join (мускул)
 
 автор: 111111   (25.08.2010 в 09:22)   письмо автору
 
 

По отдельности запросы работают, при обьединении по Юнион выводит совсем далекое. Лефт джоин что-то похожее выводил, но с отклонением: дублирует строки в правой таб вместо прописки нулей.
Как можно бороться?

  Ответить  
 
 автор: Valick   (25.08.2010 в 09:53)   письмо автору
 
   для: 111111   (25.08.2010 в 09:22)
 

Вы в курсе что Юнион и Джоин это далеко не взаимозаменяемые операторы?
Задавая вопрос не будте "голословным", показывайте запрос и рассказывайте подробнее что нужно получить.

  Ответить  
 
 автор: 111111   (25.08.2010 в 17:42)   письмо автору
 
   для: Valick   (25.08.2010 в 09:53)
 

Мой запрос:

SELECT
Rout.`fk_rout_man_driver`,
Rout.`fk_rout_man_out`,
Rout.`fk_rout_man_in`,
Man.`man_surname`,
Man_in.`man_surname`
FROM
Rout, Man,
Man as Man_in
where
Rout.`fk_rout_man_out`=1
and
Man.man_id=Rout.`fk_rout_man_out`
and
Man_in.man_id=Rout.`fk_rout_man_in`


Код для таблиц:

CREATE TABLE Rout (
rout_id int(10) NOT NULL auto_increment,
fk_rout_man_driver int(10) references Man(man_id),
fk_rout_man_out int(10) references Man(man_id),
fk_rout_man_in int(10) references Man(man_id),
fk_rout_goods_id int(10) references Goods(goods_id),

rout_is_active bool default '1',
rout_date date default '01.01.2010',
rout_price float(10,2) UNSIGNED,
rout_count float(10,2) UNSIGNED,
rout_sum float(10,2) UNSIGNED,
rout_info char(50),
PRIMARY KEY (rout_id)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci


CREATE TABLE Man(
man_id int(10) NOT NULL auto_increment,
fk_man_type integer references man_type(id),
man_surname char(50) default '',
man_name char(50) default '',
man_name2 char(50) default '',
man_address char(50) default '',
man_city char(50) default 'Біляївка',
man_birth_date date default '01.01.2010',
PRIMARY KEY (man_id)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci


Обьяснение
Rout.`fk_rout_man_out`=1 означает что будет выбран первый склад погрузки(продажи другим складам) - расход товара.

Второй запрос будет аналогичен первому за отличием
Rout.`fk_rout_man_in`=1 означает что будет выбран первый склад выгрузки - прихода товара на него.

На результирующем запросе мне нужно видеть поля на левую часть таблицы Расход:
Rout.`fk_rout_man_driver`
Rout.`fk_rout_man_out`,
Rout.`fk_rout_man_in`,
Man.`man_surname`,
Man_in.`man_surname`
а также на правую часть Приход:
Rout.`fk_rout_man_driver`
Rout.`fk_rout_man_out`,
Rout.`fk_rout_man_in`,
Man.`man_surname`,
Man_in.`man_surname`

То что хочу достичь кодом
http://s60.radikal.ru/i170/1008/e2/955beacda378.jpg
Отчет по Киевскому складу.
На участке А-G "Склад расход" - откуда был расход, а именно Киев.
На участке А-G "Склад приход" это номера машин.

На участке Н-К "Склад куда выгрузили" - куда приход был, а именно только КИЕВ.

Если участке Н-К "Склад куда выгрузили" появились данные, то
на участке А-G "Склад приход"(колонка С) номера машин выводятся, а "Склад расход"(колонка А) устанавливается в название склада на котором машина грузилась перед отгрузкой на наш склад в на участко Н-К, а именно колонка H.
Задача простая, а вывести не получается.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования