|
|
|
| Подскажите, как сделать такую выборку
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
|
и
Если строки не попали в первый запрос
Чтото типа "Внешнего объеденения" | |
|
|
|
|
|
|
|
для: MIchail1982
(30.04.2007 в 15:10)
| | А попроще примерчик нельзя? | |
|
|
|
|
|
|
|
для: Trianon
(30.04.2007 в 19:29)
| | :)) Ну это тот запрос, который будет работать
Идея такая:
если выполняется условие
то вывести данные из 2х таблиц
Для всех остальных (для которых условие не верно)
вывести данные только из первой таблицы | |
|
|
|
|
|
|
|
для: 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;");
}
//Ваш код
?>
|
| |
|
|
|
|
|
|
|
для: MIchail1982
(30.04.2007 в 21:48)
| | >:)) Ну это тот запрос, который будет работать
Вот именно. А я попросил адекватный пример.
>Идея такая:
>если выполняется условие
>то вывести данные из 2х таблиц
>Для всех остальных (для которых условие не верно)
>вывести данные только из первой таблицы
Такого рода запросы обычно выполняются с помощью внешнего левостороннего соединения таблиц. tab1 LEFT JOIN tab2 ON join_condition | |
|
|
|
|
|
|
|
для: 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 'Выводим из двух таблиц'; }
|
| |
|
|
|
|
|
|
|
для: 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;
|
| |
|
|
|
|