[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: выборка из нескольких таблиц базы данных
sjy19
Добрый день !
Прошу помощи от вас, дорогие форумчане, в сложившейся ситуации.
Есть 2 базы mysql. В первой - разная инфо о документах, в том числе ячейка nom с таможенным номером вида ******/yyyymmdd/*******(*звездочки - это цифры, yyyymmdd - дата). Дата yyyymmdd записывается также в отдельной ячейке dat при занесении в базу таможенного номера. Во второй базе опять таможенные номера в 10 ячейках - nom1, nom2, nom3, nom4, nom5, nom6, nom7, nom8, nom9, nom10 и их даты соответственно с dat1 по dat10. Получается, к одному документу может быть до 11 таможенных номеров. Обе базы связаны по ID документа.
Вопрос в том:
нужно сделать запрос к этим двум таблицам по ID и получить все таможенные номера которые есть у документа по периоду yyyymmdd. При этом, таможенных номеров у документа может быть от 0 до 11.
Не могу сделать вывод всех этих данных в php...у меня получается, то задвоение строк, то вывод не всех строк...жду помощи !




Спустя 18 дней, 12 часов, 29 минут, 6 секунд (10.07.2012 - 01:26) kamanch написал(а):
Ну.. займемся археологией. Вдруг девушка заглянет smile.gif

sjy19
Как-то ты путаешься в показаниях...
Так все таки - ДВЕ базы? Или база одна, но в ней 2 таблицы?

Спустя 1 минута, 47 секунд (10.07.2012 - 01:28) inpost написал(а):
Странно, что тема осталась без ответа...

Спустя 9 дней, 5 часов, 7 минут, 39 секунд (19.07.2012 - 06:36) sjy19 написал(а):
h.n.81, база одна, и в ней две таблицы.

Спустя 20 минут, 48 секунд (19.07.2012 - 06:57) kamanch написал(а):
Вернулась... smile.gif
Таблица docs_1
d_id;
nom;
dat;

Таблица docs_2
id;
d_id;
nom1;
nom2;
nom3;
nom4;
nom5;
nom6;
nom7;
nom8;
nom9;
nom10;
dat1;
dat2;
dat3;
dat4;
dat5;
dat6;
dat7;
dat8;
dat9;
dat10;

Таблицы связаны по полю d_id

Такая структура?

Спустя 16 минут, 39 секунд (19.07.2012 - 07:13) sjy19 написал(а):
да! именно так!!
вернулась)))) думала, что забыли уже про меня..не забыли))

Спустя 1 минута, 14 секунд (19.07.2012 - 07:14) kamanch написал(а):
как же.. помним... любим...

Спустя 55 секунд (19.07.2012 - 07:15) kamanch написал(а):

<?php
$date = "yyyymmtt"; // ищем за эту дату
$id = 45668524; // id документа

// пишем монстрический запрос, т.к. руки оторвать тому,
// кто такую архитектуру базы сделал

$query = "SELECT docs_1.nom, docs_2.nom1, docs_2.nom2, docs_2.nom3,
docs_2.nom4, docs_2.nom5, docs_2.nom6, docs_2.nom7,
docs_2.nom8, docs_2.nom9, docs_2.nom10
FROM docs_1, docs_2
WHERE docs_1.d_id = "
.$id." and docs_1.d_id = docs_2.d_id and
(docs_2.dat1 = '"
.$date."' or docs_2.dat2 = '".$date."' or
docs_2.dat3 = '"
.$date."' or docs_2.dat4 = '".$date."' or
docs_2.dat5 = '"
.$date."' or docs_2.dat6 = '".$date."' or
docs_2.dat7 = '"
.$date."' or docs_2.dat8 = '".$date."' or
docs_2.dat9 = '"
.$date."' or docs_2.dat10 = '".$date."')";
$result = mysql_query($query);
echo "Таможенные номера документа с ID ".$id." за дату ".$date.":";
while($doc = mysql_fetch_assoc($result)){
foreach ($doc as $nom) {
if(!empty($nom)){
echo $nom."<br />";
}
}
}

?>

Спустя 2 часа, 42 минуты, 18 секунд (19.07.2012 - 09:58) sjy19 написал(а):
Спасибо! wink.gif Будем пробовать!
Быстрый ответ:

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