Здравствуйте!
Помогите пожалуйста кто знает. Ну никак не могу понять почему так.
Есть 2 элементарные таблицы в базе данных.
Первая
Table: tablica
Create Table: CREATE TABLE `tablica` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`imja` char(111) COLLATE utf8_unicode_ci DEFAULT NULL,
`tekst` text COLLATE utf8_unicode_ci,
`mesto` char(111) COLLATE utf8_unicode_ci DEFAULT NULL,
`vremj` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTA
MP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=74 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
И вторая
Table: tabla
Create Table: CREATE TABLE `tabla` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nombre` char(123) COLLATE utf8_unicode_ci DEFAULT NULL,
`cosas` text COLLATE utf8_unicode_ci,
`datos` text COLLATE utf8_unicode_ci,
`horas` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMEST
MP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Ну ничего особенного.
Я хочу просто выбрать всё из Table: tablica.
Где значения столбика mesto = РАВНО значению значению во второй столбика datos.
Пишу запрос
mysqli_query($so,"SELECT * FROM `tablica` JOIN `tabla` WHERE `datos` = `mesto`");
И получаю. Данные(смотрю только поле imja ), которые повторяются много раз. ПОЧЕМУ? Нк ни как не пойму.
localhost
localhost
Задача заключается
Задача заключается
localhost
localhost
Задача заключается
Задача заключается
Хотя по всей логике должно быть просто.
localhost
localhost
Задача заключается
Задача заключается
Почему происходит это повторение.
Я и через JOINы ну ни как нету того что надо.
И самое странное когда в WHERE пишу id тогда всё норма.
Почему. Может потому что id как индекс или ещё что.
Поясните пожалуйста в чём дело. И как мне добиться чего я хочу.
|