Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Mysql SELECT???
Форумы портала PHP.SU » » Вопросы новичков » Mysql SELECT???

Страниц (1): [1]
 

1. ytrewq123 - 26 Мая, 2016 - 13:35:25 - перейти к сообщению
Здравствуйте!
Помогите пожалуйста кто знает. Ну никак не могу понять почему так.

Есть 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 как индекс или ещё что.
Поясните пожалуйста в чём дело. И как мне добиться чего я хочу.
2. 3d_killer - 26 Мая, 2016 - 13:51:55 - перейти к сообщению
Есть такая весчь в MYSQL как GROUP BY
(Добавление)
либо DISTINCT
3. igosja - 26 Мая, 2016 - 13:57:51 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `tablica` JOIN `tabla` WHERE `datos` = `mesto` GROUP BY `tablica`.`id`
4. ytrewq123 - 26 Мая, 2016 - 15:25:16 - перейти к сообщению
ААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!

Спасибо Вам
3d_killer И igosja
Такое чувство что я поумнел на 100%. Кaк буд-то перешёл в следующий класс!!!!!!!!!

 

Powered by ExBB FM 1.0 RC1