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

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

(1/2) > >>

strakhov:
есть две таблицы

первая "tblorderheaders"
lngOrderID(номер заказа уникальный)|....|


вторая "tbldocs"
...|lngDocType(тип документа)|lngDocNum(номер заказа)|lndIdTipDocs|..

во вторую таблицу пишутся множество записей с  номерами заказов lngDocNum(номер заказа) (может быть много записей с одинаковым lngDocNum(номер заказа)) но с разными lngDocType(тип документа).

надо вывести данные из tblorderheaders с теми записями у которых одинаковый lngOrderID=lngDocNum и lngDocType=\'1\' и lndIdTipDocs=\'2\'

Мой запрос выводит все записи из tblorderheaders, т.е никак не реагирует на условия отбора

$Query = "SELECT *  FROM tblorderheaders LEFT JOIN  tbldocs ON tblorderheaders.lngOrderID=tbldocs.lngDocNum where tbldocs.lngDocType=\'1\' and tbldocs.lndIdTipDocs=\'2\' ";

hanslinger:
С ходу скажу: попробуй без JOIN, просто SELECT FROM tbl1, tbl2.

strakhov:
так?

$Query = "SELECT *  FROM tblorderheaders,tbldocs where tblorderheaders.lngOrderID=tbldocs.lngDocNum and tbldocs.lngDocType=\'1\' and tbldocs.lndIdTipDocs=\'2\' ";


тоже выводит весь список. не смотрит на условия отбора.

strakhov:
Если вывести в два SELECT так оно работает но он ходит по всей таблице tblorderheaders в цикле, а хотелось бы чтобы выбирались только нужные записи в одном совмещенном SELECT

$Query = "SELECT *  FROM tblorderheaders\'";
$result = mysql_db_query ($dbname, $Query, $Link);
while ($Row = mysql_fetch_array ($result))   {

$Query6 = "SELECT * FROM tbldocs where lndIdTipDocs=\'2\' and lngDocNum=\'$Row[lngDocNum]\'  order by lngDocID desc limit 1";
$result6 = mysql_db_query ($dbname, $Query6, $Link);
$Row6 = mysql_fetch_array ($result6);

if ($Row6[lngDocType]==\'1\') {echo $Row[lngDocNum];}

}

hanslinger:
Должно работать палюбому.

Навигация

[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 
Перейти к полной версии