Общие > Базы данных

запрос с двумя таблицами

<< < (2/2)

strakhov:
изменил работающий запрос из двух SELECT сверху.

понял в чем дело, задача усложняется тем что в таблице tbldocs всегда есть записи где lngDocType равен \'1\' поэтому выводит все записи, приходится брать последнюю запись из tbldocs и сравнивать равно ли lngDocType=\'1\' поскольку есть записи которые имееют lngDocType другие значения кроме 1

hanslinger:
что-то я ниче не понял.

strakhov:
в таблице tbldocs есть такие записи к примеру
id|lngDocType|lngDocNum|lndIdTipDocs
2|13             |1              |2
3|1               |1              |2
4|15             |1              |2
7|1               |4              |2
8|13             |6              |2

в таблице tblorderheaders такие
lngDocNum|....||||
1              |....||||
4              |....||||
6              |....||||
....

надо вывести записи из табл tblorderheaders только те у которых в таблице tbldocs последний lngDocType=\'1\'

тоесть он должен вывести только одну запись с номером lngDocNum=4

hanslinger:
у меня все работает отлично
тестовые таблицы:


--- Код: ---
CREATE TABLE `t1` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `type` int(11) unsigned NOT NULL,
  `t2id` int(11) unsigned NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `t1` (`id`, `type`, `t2id`) VALUES
  (1,1,1),
  (2,2,1),
  (3,3,1),
  (4,1,2),
  (5,2,3),
  (6,1,3),
  (7,3,4),
  (8,4,5),
  (9,1,5);

--- Конец кода ---



--- Код: ---
CREATE TABLE `t2` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `xxx` char(20) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

INSERT INTO `t2` (`id`, `xxx`) VALUES
  (1,\'c1\'),
  (2,\'c2\'),
  (3,\'c3\'),
  (4,\'c4\'),
  (5,\'c5\'),
  (6,\'c6\');

--- Конец кода ---


Запрос:

--- Код: ---SELECT `t2`.* FROM `t1`, `t2` WHERE `t2`.`id` = `t1`.`t2id` AND `t1`.`type` = 1;
--- Конец кода ---

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии