мне нужно осуществить поиск по одной из них, причем если значение A из таблицы 1 = значению B из таблицы 2.
сейчас сделал так:
...
// выбираем таблицу 1
$sql = "SELECT * FROM `table1`";
$sort = mysql_query($sql) or die(mysql_error() .'<br/>'. $sql);
while($sort_result = mysql_fetch_array($sort)) {
// выбираем таблицу 2 и назначаем сортировку
$sql = "SELECT * FROM `table2`
WHERE `id` = '{$sort_result['id']}'
AND `cat` = '$cat' $andwhere
ORDER BY `price` DESC";
$select = mysql_query($sql) or die(mysql_error() .'<br/>'. $sql);
while($select_result = mysql_fetch_array($select)) {
...
делов в том что на выходе установленная сортировка ( ORDER BY `price` DESC ) не осуществляется и данные выводятся по id. подскажите как правильно прописать одним запросом. Гуглил, но так и не разобрался как прописать.
Спустя 7 часов, 30 минут, 17 секунд (5.02.2011 - 10:06) sergeiss написал(а):
Я предлагаю автору сначала разобраться, что же он хочет: в заголовке у него "две БД", а в тексте я вижу только "две таблицы". Так таблицы в одной БД или в разных?
Спустя 40 минут, 36 секунд (5.02.2011 - 10:46) gaserge написал(а):
точно описался. имею ввиду не в двух разных базах данных. а из двух разных таблиц.) исправил
Спустя 3 минуты, 30 секунд (5.02.2011 - 10:50) sergeiss написал(а):
В таком случае читай про JOIN - это то, что тебе нужно. Данные из 2-х или более таблиц одной БД можно объединить так, что в каждой строке будут находиться данные, связанные друг с другом по какому-то ключевому полю.
Спустя 23 часа, 59 минут, 9 секунд (6.02.2011 - 10:49) gaserge написал(а):
все спасибо получилось, вот как прописал если кому пригодится еще:
само присоеденение таблицы и сравнивание ячеек идет в этой строке, тут все понятно вроде (LEFT JOIN - указываем присоеденяемую таблицу, ON - прописываем условие):
SELECT * FROM `table1` LEFT JOIN `table2` ON `table1`.`id` = `table2`.`id`
WHERE `cat` = '$cat' $andwhere
ORDER BY `price` DESC"
само присоеденение таблицы и сравнивание ячеек идет в этой строке, тут все понятно вроде (LEFT JOIN - указываем присоеденяемую таблицу, ON - прописываем условие):
SELECT * FROM `table1` LEFT JOIN `table2` ON `table1`.`id` = `table2`.`id`