SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.03.2012 15:22:22

anonym
Участник
Зарегистрирован: 17.02.2012
Сообщений: 14

Объединение 2 таблиц

Cам скрипт корзины для магазина.
В одной табоице товары категории - Шины
В другой таблице товары категории - Краски

Запрос:


select wheel.title, wheel.price from wheel where id='$id'
 UNION ALL
 select goods.title, goods.price from goods where id_goods='$id'


В выдаче получается, при совпадение id выводятся данные из первой таблице. Помогите, пожалуйста исправить запрос.

Неактивен

 

#2 01.03.2012 15:27:41

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Объединение 2 таблиц

Попробуйте заменить UNION ALL на UNION.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 01.03.2012 15:32:29

anonym
Участник
Зарегистрирован: 17.02.2012
Сообщений: 14

Re: Объединение 2 таблиц

Пробывал, тоже самое

Неактивен

 

#4 01.03.2012 15:37:14

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Объединение 2 таблиц

Приведите пожалуйста структуру и содержимое ваших таблиц (show create table wheel и show create table goods и непосредственно данные)  и то, какой результат Вы хотите получить


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 01.03.2012 15:46:22

anonym
Участник
Зарегистрирован: 17.02.2012
Сообщений: 14

Re: Объединение 2 таблиц

А по php тут помогут?

Отредактированно anonym (01.03.2012 15:57:21)

Неактивен

 

#6 01.03.2012 16:04:54

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Объединение 2 таблиц

Дамп, который вы привели некорректен по двум пунктам:

1) INSERT INTO `wheel`  - пропущено либо text либо characters
2) в таблице goods идёт попытка вставить два товара с одним id, а id - primary key.

Исправьте дампы пожалуйста.
И ответьте таки на мой вопрос - какие данные Вы получаете (с полным текстом запроса) и какие данные Вы хотите получить.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#7 01.03.2012 16:22:14

anonym
Участник
Зарегистрирован: 17.02.2012
Сообщений: 14

Re: Объединение 2 таблиц

Ошибка в скрипте, как выяснилось. Если вы можете помочь с php выкладываю

Неактивен

 

#8 01.03.2012 16:24:17

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Объединение 2 таблиц

Очень трудно сказать, могу ли помочь, не зная в чем именно нужна помощь wink. Но если вопрос не содержит в себе ничего относящегося mysql, то его стоит задать на php-форуме, а не здесь.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#9 01.03.2012 16:36:53

anonym
Участник
Зарегистрирован: 17.02.2012
Сообщений: 14

Re: Объединение 2 таблиц

function get_book_details($id)
{
  // Выполняет запрос в базу данных детальной информации о книге
  if (!$id || $id=='')
     return false;
   $conn = db_connect();
   $query = "select wheel.title, wheel.price from wheel where id='$id'
   UNION
   select wheel.title, wheel.price from wheel where id='$id'
   
       "
;
   $result = @$conn->query($query);
   if (!$result)
     return false;
   $result = @$result->fetch_assoc();
   return $result;
}


функция читает только первую запись из результата и возвращает одно значение. Нужно:
а) читались все записи результата
б) функция возвращала соответствующее количество значений


и всё таки в запросе косяк:
Дело в том, что он выводит данные из таблицы, когда id в одной таблице кончаются, то из друго таблицы начинают выводится данные, например в 1 таблице 30 полей id, а во второй 50, так вот после 30 id, начинают выводится данные из 2 таблицы.

Отредактированно anonym (01.03.2012 19:27:15)

Неактивен

 

#10 01.03.2012 19:57:44

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Объединение 2 таблиц

Почитайте mysql-fetch-array

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson