Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Union
 
 автор: MIchail1982   (30.04.2007 в 15:10)   письмо автору
 
 

Подскажите, как сделать такую выборку

Select da.Id, da.Org_kod, da.Org_naz, da.Org_fil, da.Paket, da.Pachka, da.Form_type, da.Obl,
da.Rajon, da.Kod_ZO, da.Prizv, da.Imya, da.Otchestvo, da.Stat, da.Rozd_data,
da.Rozd_str, da.Rozd_obl, da.Rozd_raj, da.Rozd_gor, da.Proz_ind, da.Proz_obl,
da.Proz_rag, da.Proz_gor, da.Proz_ul, da.Proz_dom, da.Proz_korp, da.Proz_kvar,
da.Proz_tel, da.Docum, da.Doc_ser, da.Doc_data, da.Doc_vid, da.Doc_nom,
da.Da_nom, da.Da_data,db.Sv_ser,db.Sv_nom,db.Sv_data,db.Pomil,db.Db_nom,
db.Db_data,db.Nakl_nom,db.Nakl_data
from da,db
where
da.Kod_ZO = db.Kod_ZO
AND
da.Rajon = db.Rajon
AND
da.Org_kod = db.Org_kod
AND
da.Form_type = db.Form_type
AND
da.Da_nom = db.Da_nom


и

Select da.*
from da,db

Если строки не попали в первый запрос

Чтото типа "Внешнего объеденения"

   
 
 автор: Trianon   (30.04.2007 в 19:29)   письмо автору
 
   для: MIchail1982   (30.04.2007 в 15:10)
 

А попроще примерчик нельзя?

   
 
 автор: MIchail1982   (30.04.2007 в 21:48)   письмо автору
 
   для: Trianon   (30.04.2007 в 19:29)
 

:)) Ну это тот запрос, который будет работать
Идея такая:
если выполняется условие
то вывести данные из 2х таблиц
Для всех остальных (для которых условие не верно)
вывести данные только из первой таблицы

   
 
 автор: Unkind   (01.05.2007 в 12:14)   письмо автору
 
   для: MIchail1982   (30.04.2007 в 21:48)
 

Если структура таблиц "da" и "db" одинакова (у Вас мне трудно разобраться), то можно так:


<?php
//В запросах вместо "WHERE 1" вставляйте Ваши условия для выборки
if(true//Ваше условие
{
$sql mysql_query("SELECT * FROM `da` WHERE 1 UNION SELECT * FROM `db` WHERE 1;");
}
else
{
$sql mysql_query("SELECT * FROM `da` WHERE 1;");
}

//Ваш код
?>

   
 
 автор: Trianon   (01.05.2007 в 13:48)   письмо автору
 
   для: MIchail1982   (30.04.2007 в 21:48)
 

>:)) Ну это тот запрос, который будет работать
Вот именно. А я попросил адекватный пример.

>Идея такая:
>если выполняется условие
>то вывести данные из 2х таблиц
>Для всех остальных (для которых условие не верно)
>вывести данные только из первой таблицы

Такого рода запросы обычно выполняются с помощью внешнего левостороннего соединения таблиц. tab1 LEFT JOIN tab2 ON join_condition

   
 
 автор: mr Bin   (30.04.2007 в 22:24)   письмо автору
 
   для: MIchail1982   (30.04.2007 в 15:10)
 

$zapros=mysql_query("Select da.Id, da.Org_kod, da.Org_naz, da.Org_fil, da.Paket, da.Pachka, da.Form_type, da.Obl, 
da.Rajon, da.Kod_ZO, da.Prizv, da.Imya, da.Otchestvo, da.Stat, da.Rozd_data, 
da.Rozd_str, da.Rozd_obl, da.Rozd_raj, da.Rozd_gor, da.Proz_ind, da.Proz_obl, 
da.Proz_rag, da.Proz_gor, da.Proz_ul, da.Proz_dom, da.Proz_korp, da.Proz_kvar, 
da.Proz_tel, da.Docum, da.Doc_ser, da.Doc_data, da.Doc_vid, da.Doc_nom, 
da.Da_nom, da.Da_data,db.Sv_ser,db.Sv_nom,db.Sv_data,db.Pomil,db.Db_nom, 
db.Db_data,db.Nakl_nom,db.Nakl_data 
from da,db 
where 
da.Kod_ZO = db.Kod_ZO 
AND 
da.Rajon = db.Rajon 
AND 
da.Org_kod = db.Org_kod 
AND 
da.Form_type = db.Form_type 
AND 
da.Da_nom = db.Da_nom");
if(mysql_num_rows($zapros) == 0) { 
$tolko_iz_da =mysql_query("SELECT * FROM da"); 
} else { echo 'Выводим из двух таблиц'; }

   
 
 автор: MIchail1982   (02.05.2007 в 12:51)   письмо автору
 
   для: mr Bin   (30.04.2007 в 22:24)
 

2 Unkind, mr Bin
Это не ПХП, а эскуэл (мне из этого надо представление сделать)
2 Trianon
Таблицы разной структуры
запрос вроде бы сделал

Select da.Id, da.Org_kod, da.Org_naz, da.Org_fil, da.Paket, da.Pachka, da.Form_type, da.Obl,
       da.Rajon, da.Kod_ZO, da.Prizv, da.Imya, da.Otchestvo, da.Stat, da.Rozd_data,
       da.Rozd_str, da.Rozd_obl, da.Rozd_raj, da.Rozd_gor, da.Proz_ind, da.Proz_obl,
       da.Proz_rag, da.Proz_gor, da.Proz_ul, da.Proz_dom, da.Proz_korp, da.Proz_kvar,
       da.Proz_tel, da.Docum, da.Doc_ser, da.Doc_data, da.Doc_vid, da.Doc_nom,
       da.Da_nom, da.Da_data,db.Sv_ser,db.Sv_nom,db.Sv_data,db.Pomil,db.Db_nom,
       db.Db_data,db.Nakl_nom,db.Nakl_data
from da,db
where
     da.Kod_ZO = db.Kod_ZO AND
     da.Rajon = db.Rajon AND
     da.Org_kod = db.Org_kod AND
     da.Form_type = db.Form_type AND
     da.Da_nom = db.Da_nom
Union
Select da.*,'Н/Д','Н/Д','Н/Д','Н/Д','Н/Д','Н/Д','Н/Д','Н/Д'
from da
Where id not in
(select da.id
from da,db
where
     da.Kod_ZO = db.Kod_ZO AND
     da.Rajon = db.Rajon AND
     da.Org_kod = db.Org_kod AND
     da.Form_type = db.Form_type AND
     da.Da_nom = db.Da_nom
)
Order by Da_data;

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования