[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SELECT из трех таблиц
zolcman
Имеются три одинаковых таблицы с разными названиями, нужно сделать Select по определенному поля и вывести в таблицу, помогите составить запрос
Вроде бы читаю, делается с помощью JOIN, но до конца не понимаю как составить



Спустя 2 минуты, 43 секунды (3.04.2011 - 09:50) zolcman написал(а):
SELECT id
FROM nestle, gerber
WHERE id = "$id"

так будет работать?

Спустя 4 минуты, 12 секунд (3.04.2011 - 09:54) Trianon написал(а):
трех одинаковых таблиц просто не встретится в нормально спроектированной базе данных.

Спустя 4 минуты, 27 секунд (3.04.2011 - 09:59) zolcman написал(а):
Trianon
Структура таблицы одинаковая, значения в ней разные

Спустя 23 минуты, 5 секунд (3.04.2011 - 10:22) Trianon написал(а):
я о том и говорю.
Три таблицы с одинаковой структурой в бд это примерно как три функции с одинаковыми телами в скрипте.

Спустя 16 минут, 20 секунд (3.04.2011 - 10:38) Basili4 написал(а):
Совершено согласен с Trianon.


zolcman
меняйте структуру если не поздно.

Спустя 1 час, 32 минуты, 1 секунда (3.04.2011 - 12:10) zolcman написал(а):
<?php 
include ('config.php');
$search = $_POST['search'] ;
$sql = "SELECT product FROM nestle,gerber,hipp WHERE product = ".$_POST['search'];
$result = mysql_query($sql);
if(!$result)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo $sql;
exit();
}
else
$myrow_news = mysql_fetch_array($result);
echo "<div class=\"newsfeed\">
<div class=
\"newstext\">" . $myrow_news['product'] . "</div>
</div>"
;

?>

Сделал вот так
Выдает вот так :Возникла ошибка - Column 'product' in field list is ambiguous
SELECT product FROM nestle,gerber,hipp WHERE product = сок

Спустя 2 часа, 17 минут, 19 секунд (3.04.2011 - 14:28) inpost написал(а):
zolcman
Если подставляешь число, то не нужны кавычки! Для текст - нужны в запросах:
'".$_POST['search']."'
А ещё лучше пройди все ссылки в моей подписи, особенно в последней глянь про правильные запросы в БД.

Спустя 3 минуты, 42 секунды (3.04.2011 - 14:31) neadekvat написал(а):
zolcman, вы не увидели посты о том, что у вас совершенно неверная структура в бд?

inpost, обрати внимание на ошибку - это не ошибка в синтаксисе, это ошибка в структуре (поле product есть в трех таблицах - и по какой же mysql должен делать выборку?)

Спустя 3 минуты, 44 секунды (3.04.2011 - 14:35) inpost написал(а):
zolcman
Указывай таблицу, в какой идёт поиск: nestle.product = 'сок' и т.д.
А вообще, все 3 таблицы объедени в один, добавь лишь 1 ячейку с названием продукции, это от тебя пытаются добиться 2 предыдущих помощника.

Спустя 1 час, 43 минуты, 58 секунд (3.04.2011 - 16:19) zolcman написал(а):
Решил сделать по другому)) в $_POST['my_listp'] имя Таблицы, когда просто пишу название делает селект, когда вставленна эта переменная пишет You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`product` = 0' at line 1
<?php 
include ('config.php');

$sql = "SELECT `product` FROM".$_POST['my_listp'] ."WHERE `product` = ".(int)$_POST['search'];
$result = mysql_query($sql);
if(!$result)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
exit();
}
else
$myrow_news = mysql_fetch_array($result);
echo "<div class=\"newsfeed\">raz
<div class=
\"newstext\">" . $myrow_news['product'] . "</div>
</div>"
;

?>

Спустя 15 минут, 27 секунд (3.04.2011 - 16:34) zolcman написал(а):
все разобрался по второму варианту первый бы организовать
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.