Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

SQL-запрос   Найти похожие ветки 

 
Evlahov ©   (2006-08-16 16:11) [0]

Помогите пожалуйста!
Имеются две таблицы PLAT (платежки (PLAT.№,  PLAT.ORG_P,  PLAT.ORG_B)) и ORG (организации (ORG.№, ORG.NAME)) В таблице PLAT хранятся данные (Организация получатель и Банк получатель) данные добавляются из таблицы ORG (организации). Таблицы связаны (ORG.№ -первичный ключ), (PLAT.ORG_P,  PLAT.ORG_B – внешние ключи)
Вопрос как написать запрос чтобы вывести наименование организации ПОЛУЧАТЕЛЯ и наименование БАНК ПОЛУЧАТЕЛЬ


 
Desdechado ©   (2006-08-16 16:21) [1]

SELECT P.№, O.name, B.name
FROM Plat P, Org O, Org B
WHERE P.org_p = O.№ AND P.org_b = B.№


короче, таблицу можно несколько раз с разными псевдонимами в FROM указывать


 
evvcom ©   (2006-08-17 08:34) [2]

> [0] Evlahov ©   (16.08.06 16:11)

У тебя организации и банки в одной куче? Неверный подход. Насчет банков: вообще лучше взять официальный файл Центробанка и с ним работать.


 
StriderMan ©   (2006-08-17 10:09) [3]


> Desdechado ©   (16.08.06 16:21) [1]

ИМХО лучше JOIN использовать при выборе из нескольких таблиц.


 
Sergey13 ©   (2006-08-17 10:13) [4]

> [3] StriderMan ©   (17.08.06 10:09)

Он и так будет по любому. А внешний тут вроде смысла не имеет.


 
Desdechado ©   (2006-08-17 11:33) [5]

> У тебя организации и банки в одной куче? Неверный подход.
Почему? А что, банк - не организация, что ли? И один банк заплатить другому не может что ли сам за себя, а не за клиента?
Хотя возможны варианты (например, открыть счет для себя у себя :)

StriderMan ©   (17.08.06 10:09) [3]
Методологически - да. Тогда легко визуально разделяются соединения таблиц и ограничивающие условия. Не зря именно так стандарт рекомендует.
Но привычка, как говорят, - вторая натура.


 
evvcom ©   (2006-08-17 13:52) [6]

> [5] Desdechado ©   (17.08.06 11:33)
> Почему? А что, банк - не организация, что ли?

Организация. Но... Банк может выступать как обычный контрагент (дебитор/кредитор) со всеми платежными реквизитами: ИНН, наименование и таблицей счетов: БИК банка (внешний ключ), № счета и пр. И может выступать как (как бы это точнее выразить) посредник при совершении финансовых сделок со своим наименованием, БИКом (первичный ключ) и пр. Это разные сущности.
Собрав все это в одну кучу, мы добавляем себе лишнего геморроя. Таблица со счетами (ее логика) должна будет постоянно следить при записи ключа банка, а банк ли это? Автор ничего не сказал про используемую им СУБД, но я так подозреваю, что опять какой-нить dBase или Paradox. В этом случае с таблицей банков вообще не будет геморроя с обновлением, если брать Центробанковский файл в неизменном виде.
Ладно, все ИМХО. Но именно с банками и платежами я в свое время возился при внедрении SAP R/3 на предыдущем месте работы, и там именно так и было построено.


 
Evlahov ©   (2006-08-18 17:22) [7]

СУБД использую InterBase. Большое спасибо за помощь, все получилось.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.695 c
2-1156253429
AlexanderMS
2006-08-22 17:30
2006.09.10
Зачем нужен const?


15-1155727878
QuickFinder
2006-08-16 15:31
2006.09.10
Виджеты


2-1156264773
Gagarin
2006-08-22 20:39
2006.09.10
как Добавить прогу в контекстное меню аля Winrar


1-1154115688
Gnoll
2006-07-28 23:41
2006.09.10
компонент типо Мемо с возможность вставки анимированных картинок.


2-1156354559
HELP_ME_PLEASE
2006-08-23 21:35
2006.09.10
Осичтка переменной





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский