|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Здравствуйте. Взялся работать с базой (всего-лишь неделю назад в выходные изучил SQL). Стоит Firebird 2.5 с Delphi. Используется для статистики. Дело в том, что используется почти две одинаковые таблицы "SPISOK_AMB" и "SPISOK". В первую вносятся все пациенты, а во вторую вносятся только госпитализированы из них. Но так ведь не должно быть, т.е. достаточно одного поля в таблице "Список", которое определяет, что пациент госпитализирован. Пытался объединить данные через "Union", но заметил, что наименование полей разные, например, "FAMILY" и "FAMILY_AMB". Переименовать не дает, выводит: "This operation is not defined for system tables. unsuccessful metadata update. Column NOMIB_AMB from table SPISOK_AMB_COPY is referenced in SPISOK_AMB_COPY_EXC1." Как объединить? С уважением, Rphoenix. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 11:49 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Hello, Rphoenix! You wrote on 19 декабря 2016 г. 11:58:45: Rphoenix> Как объединить?зачем? у тебя в первой таблице и так есть ВСЕ Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 11:59 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Rphoenix, нафига UNION? Здесь либо LEFT, либо INNER JOIN, в зависимости от набора полей таблиц и от того, что ты хочешь, в конечном итоге, получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:09 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
МимопроходящийHello, Rphoenix! You wrote on 19 декабря 2016 г. 11:58:45: Rphoenix> Как объединить?зачем? у тебя в первой таблице и так есть ВСЕ Нет, во второй указывается случай госпитализации (дополнительные поля). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:15 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
rdb_dev, я хочу получить одну таблицу без повторений, с данными пациентов (первая таблица) и с историей госпитализации (вторая таблица; если есть). Пробовал "FULL OUTER JOIN", но получается два поля "Family" и "Family_amb" у одного и того-же человека в строке (т.е. повторяются). Попробовать запрос с параметром? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:18 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Rphoenix, проблема заменить * на список нужных полей? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:22 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
rdb_devRphoenix, проблема заменить * на список нужных полей? Код: sql 1. 2. 3. 4. 5. 6.
Так? Проблема в том, что ID не связаны внешними ключами. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:28 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Hello, Rphoenix! You wrote on 19 декабря 2016 г. 12:23:40: Rphoenix> Пробовал "FULL OUTER JOIN"видимо утверждение о том, что "на выходных изучил SQL" слегка не соответствует действительности Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:31 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
МимопроходящийHello, Rphoenix! You wrote on 19 декабря 2016 г. 12:23:40: Rphoenix> Пробовал "FULL OUTER JOIN"видимо утверждение о том, что "на выходных изучил SQL" слегка не соответствует действительности Да да, что-то я ступил) конечно "LEFT OUTER JOIN". А как теперь выгрузить скрипт в таблицу? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:37 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Мимопроходящий, ну почему же вполне может соответствовать. Выучить SQL за выходные не возможно. Точнее синтаксис освоить можно, а вот понимать что и когда использовать это время нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:38 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Rphoenix"на выходных изучил начал изучать SQL" правильней так ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:40 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Проблема в том, что поля по другому названы в другой таблицы. Их все самостоятельно присваивать? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:48 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Rphoenix, здесь не преподают бесплатно теорию реляционных баз данных. Гугли теорию и формы нормализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:55 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Rphoenixсамостоятельно присваивать? Что делать ???? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:02 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Arioch, в первой таблицы личные данные пациентов. Во второй таблицы личные данные + данные госпитализации. Нужно объединить по личным данным в одну, но наименование полей во второй таблице другое. Код: sql 1. 2. 3. 4. 5. 6.
Нужно, получается, и Код: sql 1.
.... и т.д.? Присваивать каждое поле? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:06 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Rphoenix, подучи ка ты ещё SQL. И почитай про первичные ключи натуральные и искусственные, а так же про нормализацию таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:10 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Симонов Денис, т.е. деление должно быть, чтобы выполнялось условия нормальных форм? Или причем тут они? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:14 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Т.е. должна быть одна таблица с личными данными, а вторая с историей болезни? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:15 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
RphoenixТ.е. должна быть одна таблица с личными данными, а вторая с историей болезни? да ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:18 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Rphoenix, во-первых тут нет присваивания, вообще нет. так что либо ты учишь общепринятый язык, либо мы все учим твой язык. что вероятнее случится, думаю, все понимают во-вторых нет, не один хрен, каким словом что называть если мы не сможем говорить на оном и том же языке - мы не сможем понять тебя, а ты нас в результате и мы будем давать плохие советы, и понимать ты их будешь вообще другим ужасным способом в третьих нет, не из-за одного слова, это слово просто признак, что ты совсем не задумываешься что какие слова значат, и сколько сил уйдет чтобы распознать другие слова-ловушки в твоём языке и расшифровать их - никому не известно в четвёртых - тебе нужно завести уникальный идентификатор черловека, например номер его регистрационной карточки ( натуральный ключ ) или просто число ( искусственный ключ ) и тогда связывать две таблицы можно будет только поля-идентификаторы. spisok.ID = spisok_amb.ID в пятых - начни что-ли с того, чтобы прочитать Шумакова: http://www.ibase.ru/sql/ Ты в таких основах плаваешь, что... все что мы можем делать, это открывать эти книжки и читать их тебе вслух страницу за страницей. Потому что лучше чем они сказали - мы сказать вряд ли сможем. Да и не захотим: если бы мы были хорошими писателями, мы бы уже саим по книжке написали. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:23 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
RphoenixПрисваивать каждое поле? Нет, связь только по ключевым. Какие поля ключевые - спроси у разработчика БД. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:41 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, эти таблицы между собой ключами не связаны. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:10 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Rphoenix, беда... Начинай с перепроектирования БД. Небось спёр её у двоешника, который курсач в прошлом году кое-как сдал, или даже не сдал. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:12 |
|
Объединить данные двух таблиц
|
|||
---|---|---|---|
#18+
Симонов Денис, это рабочая база больницы. Нашел связь через Delphi: "dm1.pFIBDataSet14.FieldValues['NAME']:=trim(vartostr(dm1.pFIBDataSet35.FieldValues['NAME_AMB']));" и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:19 |
|
|
start [/forum/topic.php?fid=40&fpage=50&tid=1561794]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 288ms |
total: | 425ms |
0 / 0 |