[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Непонятки с выборкой из БД.
Bezdna
А парадокс сей заключается в следующем:
Простейшая выборка из таблицы:

$query = mysql_query("SELECT * FROM `table1` LEFT JOIN `table2` ON (`type1` = `id2`) ";
while($rows = mysql_fetch_array($query)){
echo $rows['type1'].$rows['id2'];
}


Так вот, по логике значения $rows['type1'] и $rows['id2'] должны быть одинаковыми, а в моём случае почему-то значение $rows['id2'] на единицу больше значения $rows['type1'] (оба значения числовые, тип полей в базе INT).
Посему три ночи не сплю :D в раздумьях - то лыжи не едут, то ли что-то напутал. :D
killer8080
может все таки коллизия между именами полей в таблицах? Попробуй явно задать выбираемые поля
SELECT `t1`.`type1`, `t2`.`id2` 
FROM `table1` `t1`
LEFT JOIN `table2` `t2` ON `t1`.`type1` = `t2`.`id2`

Bezdna
Как-то руки не доходили (фраза тоже, кстати, парадоксальная biggrin.gif) до поиска разгадки сего явления, сегодня дошли и, оказалось всё проще простого - каюсь, но разгадка в обычной невнимательности: поле id2было не INT, а ENUM со значениями 0,1,2,3, с соответственной "неправильной" выборкой. В связи с чем благодарю всех, потративших время на мою глупость.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.