Перейти к содержимому



Как по мне глюк MySQL

#1

Поделиться сообщением #1



кипятильник

кипятильник
  • Неактивные
  • 102 сообщений
  • Репутация: 0
0

Отправлено 08 Февраль 2009 - 18:34

Сделал запрос к базе как бы все работает НО!
"SELECT carstabl.*, userstabl.*, carstabl.id AS idcars FROM carstabl, userstabl WHERE userstabl.mail=carstabl.mail HAVING userstabl.region = 8 and carstabl.marka = 'ACURA' ORDER BY idcars DESC"

в итоге при смене переменой carstabl.marka выборка происходит правильно
при смене переменой userstabl.region ему просто пофигу!!! если удалить carstabl.marka, и оставить только userstabl.region то работает коректно
как изменить запрос INNER пробывал тоже самое(((

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Faq по Mysql
  2. Зачем нужна MySQL?
  3. Обработка уникальных полей в MySQL
  4. Блок " песни исполнителя" через MySql
  5. Настраиваем подключение к базе данных

#2

Поделиться сообщением #2



ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 08 Февраль 2009 - 21:17

Это точно не глюк MySQL 100 раз такие запросы писал, всё работает.
"SELECT carstabl.*, userstabl.*, carstabl.id AS idcars FROM carstabl LEFT JOIN userstabl ON carstabl.mail=userstabl.mail AND (  userstabl.region = 8 AND carstabl.marka = 'ACURA') ORDER BY idcars DESC"

А вообще я не очень понял как тебе нужно объединить таблицы. Опиши словестно и приведи примеры таблиц(скриншоты), чтобы было более понятно.
  • 0

#3

Поделиться сообщением #3



ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 09 Февраль 2009 - 00:56

Стало более понятно... Нужно взять только общие записи из двух таблиц и сопаставить по полю mail + задать 2 условия (по марке автомобиля и по региону пользователя)
SELECT t1.*, t2.* FROM carstabl t1 INNER JOIN userstabl t2 ON t1.mail=t2.mail WHERE t1.marka='Acura' AND t2.region=8

  • 0


Оформление форума – IPBSkins.ru