Общие > Базы данных
запрос с двумя таблицами
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:
Должно работать палюбому.
Навигация
Перейти к полной версии