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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Один запрос в базу данных к 4 таблицам

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Не могу составить запрос который будет забирать значения полей из 4 таблиц
vanicon
Отправлено: 27 Декабря, 2010 - 01:55:59
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Есть таблицы: post_avto, post_vid, post_vid2, post_vid4
И нужно составить один запрос к 4 таблицам у них нужно забрать значения из одинаковых полей
вот код:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $namesql = mysql_query("
  4. SELECT id,name,time
  5. FROM post_avto av,
  6.     post_vid v,
  7.     post_vid2 v2,
  8.     post_vid4 v4
  9. ");
  10. while ($name = mysql_fetch_array($namesql, MYSQL_BOTH)){
  11.  
  12. echo $name['name'];
  13. }
  14.  

Но выводит вот такую ошибку:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\test1.ru\www\users\functions.php on line 37
Подскажите в чем ошибка в моем запросе?


-----
Так было, так есть и так будет
 
 Top
grefon
Отправлено: 27 Декабря, 2010 - 02:03:15
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




Запрос не верный. Вам нужно вывести строки, значения которых совпадают во всех таблицах?


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
vanicon
Отправлено: 27 Декабря, 2010 - 02:16:17
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Цитата:
Запрос не верный. Вам нужно вывести строки, значения которых совпадают во всех таблицах?

Что то я не пойму про какие строки ты говориш, имеются разные таблицы, но поля которые мне из них нужно вывести одинаковые, НО значения в этих полях разное


-----
Так было, так есть и так будет
 
 Top
Реф
Отправлено: 27 Декабря, 2010 - 02:20:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 159
Дата рег-ции: Июль 2010  
Откуда: Реутов, Россия


Помог: 0 раз(а)




vanicon пишет:
поля которые мне из них нужно вывести одинаковые, НО значения в этих полях разное

Объясните, что Вы подразумеваете под одинаковыми полями? Одинаковые названия столбцов в таблицах? типы?

А по запросу, ошибка скорее всего в том, что не понятно столбцы какой из 4х таблиц вы запрашиваете. Используйте конструкцию <имя таблицы>.<имя столбца>

(Отредактировано автором: 27 Декабря, 2010 - 02:23:33)



-----
Думать надо головой, а не головкой!
 
 Top
OrmaJever
Отправлено: 27 Декабря, 2010 - 02:23:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




vanicon пишет:
Подскажите в чем ошибка в моем запросе?

1) в таких случаях нужно писать mysql_error()
2) ко всем полям нужно указывать таблицы. table_name.column_name
3) названия полей, таблиц нужно обводить в обратные кавычки `. Темболее у вас название таблицы с пробелом написано!


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
vanicon
Отправлено: 27 Декабря, 2010 - 02:41:51
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Цитата:
Объясните, что Вы подразумеваете под одинаковыми полями? Одинаковые названия столбцов в таблицах? типы?

А по запросу, ошибка скорее всего в том, что не понятно столбцы какой из 4х таблиц вы запрашиваете. Используйте конструкцию <имя таблицы>.<имя столбца>

Насчет одинаковыми полями я подразумеваю что названия и даже тип этих столбцов одно и тоже во всех этих таблицах.
А насчет конструкции имя таблицы.имя столбца я уже пробовал и такая же самая ошибка

Цитата:
3) названия полей, таблиц нужно обводить в обратные кавычки `. Темболее у вас название таблицы с пробелом написано!


Название таблиц я думаю нет смысла указывать в кавычках хотя да в документации написано что это нужно делать но ошибка тут не синтаксическая а реальная, а название столбца у меня написано правильно и там в названии не пробел а как бы префиксы для дальнейшей работы с запросом


-----
Так было, так есть и так будет
 
 Top
OrmaJever
Отправлено: 27 Декабря, 2010 - 13:08:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




vanicon пишет:
Название таблиц я думаю нет смысла указывать в кавычках хотя да в документации написано что это нужно делать но ошибка тут не синтаксическая а реальная, а название столбца у меня написано правильно и там в названии не пробел а как бы префиксы для дальнейшей работы с запросом

А вы пробовали поставить в кавычки?
Если есть такая ошибка:
vanicon пишет:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

То в любом случаем mysql_error() чтото вернёт. И вот по этой ошибке нужно смотреть что делать.
Хоть текст ошибки покажите Однако


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Мелкий Супермодератор
Отправлено: 27 Декабря, 2010 - 13:24:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




vanicon пишет:
но ошибка тут не синтаксическая

Вполне может быть синтаксическая.
Но у вас ошибка логики, бедная субд теряется в догадках, какие же поля от неё хотят получить, из какой таблицы.

Используйте union или вообще тягайте данные разными запросами. Вообще, по-видимому, у вас ошибка проектирования базы данных.


-----
PostgreSQL DBA
 
 Top
vanicon
Отправлено: 27 Декабря, 2010 - 14:40:17
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Такого же типа запрос я уже выполнял в 4 таблицы и там было то же самое что и этот мой запрос, а вот этот запрос не выполняется я думаю что проблема в одинаковых названиях полей которые я хочу выбрать, но изменить их названия не могу. Может быть подскажите как выполнить этот запрос?


-----
Так было, так есть и так будет
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB