|
|
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Добрый день,уважаемые члены форума! С SQL работаю относительно недавно, поэтому встал вопрос по объединению таблиц для отчета. Нужно выполнить объединение двух таблиц как показано на примере. Table 1 idname1 иван2 петр3 сергей Table 2 idauto1 ваз-21091 газ-31102 бмв Result_Table idnameauto1иванваз-2109 nullnullгаз-31102петр бмв3сергейnull Каким запросом можно получить итоговую таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 11:18:36 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Никаким. В приведённом примере нет логики. Почему null-ы во второй результирующей записи, а не в первой? Практически почти что результирующий набор можно получить, используя union двух запросов (ну нет тут full outer join, придётся эмулировать): Код: sql 1. 2. 3. однако он не будет делать той самой нелогичной хрени по об-null-ению повторяющихся полей. Если очень нужно - то поручи эту работу клиентской части. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 11:23:00 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Null-ы во второй строке, потому что потом данные из результирующей таблицы без дополнительных обработок будут переданы в отчет Crystal Reports на печать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 11:30:18 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
kinnderNull-ы во второй строке, потому что потом данные из результирующей таблицы без дополнительных обработок будут переданы в отчет Crystal Reports на печать. в любой, самой зачуханой отчетной системе, есть опция (для поля вывода) - "Скрыть повторы" если такое есть для Crystal Reports, то делаешь простой запрос Table 1 left join Table 2 ... order by id а для полей вывода id и name - устанавливаешь - "Скрыть повторы" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 11:45:42 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
kinnderNull-ы во второй строке, потому что потом данные из результирующей таблицы без дополнительных обработок будут переданы в отчет Crystal Reports на печать.А про группировку в CrystalReports вы не слышали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 11:46:33 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Групировки и всяческие навороты Crystal для меня пока еще "темный лес". Разбираюсь потихонечьку, но как обычно это бывает, на разбирание надо время,а у руководства времени нет, им надо вчера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 12:11:04 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
kinnderNull-ы во второй строке, потому что потом данные из результирующей таблицы без дополнительных обработок будут переданы в отчет Crystal Reports на печать.Почему не в первой??? почему вывод не вот такой: id name auto null null ваз-2109 1 иван газ-3110 2 петр бмв 3 сергей null и не такой:id name auto 1 иван газ-3110 null null ваз-2109 2 петр бмв 3 сергей null а именно так, как у тебя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 12:16:26 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Akina,Потому что в первом случае отчет будет не совсем удобен для визуального восприятия на бумаге, когда в отчете будет гораздо больше строк. Столбец auto для второго случая должен быть отсортирован по возрастанию. В примере это наименование авто,в отчете это дата документа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 12:26:55 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
kinnderСтолбец auto для второго случая должен быть отсортирован по возрастанию. В примере это наименование авто,в отчете это дата документа.Ну так говно вопрос. Вона есть ФАК по выбору первой записи в группе. Выбирай. Линкуй по ID как подзапрос справа, да и бери все поля из него. Соответственно для второй и следующих записей в группе соответствия не найдётся, вот и будет тебе NULL и счастьице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 12:32:04 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
kinnderГрупировки и всяческие навороты Crystal для меня пока еще "темный лес". Разбираюсь потихонечьку, но как обычно это бывает, на разбирание надо время,а у руководства времени нет, им надо вчера.Весь прикол в том, что кристалу для правильной группировки и вывода красиво оформленной таблички НЕОБХОДИМО наличие дублирующихся записей, по которым он будет группировать данные отчета. Изучайте матчасть, а не страдайте фигней ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 12:45:34 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
тем более что добавить группировку и сделать "общие" клетки таблицы а-ля Excel - дело 1-2 минут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 12:48:49 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Cygapb-007...кристалу для правильной группировки и вывода красиво оформленной таблички НЕОБХОДИМО наличие дублирующихся записей значений ключей, по которым он будет группировать данные отчета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2013, 13:00:41 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Чтобы не плодить тем на форуме,спрошу в этой...с группировками в Crystal все заработало. Отчет выходит практически такой как надо.Спасибо за наставления. Позвольте еще один маленький вопрос в этой теме. Можно ли просуммировать результаты группировки?Если да то как проще это осущетсвить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2013, 22:09:47 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38450607&tid=1835798]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 349ms |

| 0 / 0 |
