|
Общий вопрос по SQL
|
|||
---|---|---|---|
#18+
Помогите решить проблему. Суть: есть две таблицы со связью 1:М Objects id Name 1 Object 1 2 Object 2 Attributes ObjectID AName AValue 1 Owner Microsoft 1 Address USA 2 Owner ABBYY 2 Address Ukraine Задача: необходимо получить при помощи SQL-запроса результат в виде: Results id Name Owner Address 1 Object 1 Microsoft USA 2 Object 2 ABBYY Ukraine Как это сделать??? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2002, 17:37 |
|
Общий вопрос по SQL
|
|||
---|---|---|---|
#18+
В оригенале таблици слегка не правильно построил ты! А так итог такой должен быть! Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2002, 17:52 |
|
Общий вопрос по SQL
|
|||
---|---|---|---|
#18+
Да, структурка не очень удачная... соответственно и запросец не дешевый: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
я тренировался на своих тестовых таблицах, потому имена отличаются от ваших.. tbl первая ваша temptest вторая... ovn это Owner... adr .... Повторюсь, на больших данных запрос будет мендленный ... измените структуру данных или используйте для работы с этой структурой ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2002, 18:29 |
|
Общий вопрос по SQL
|
|||
---|---|---|---|
#18+
Все именно так и должно быть. То, что во второй таблице Attributes находится в столбце как значение, должно в третьей быть в качестве самого столбца. По-моему тут нужно строить перекрестный запрос, а не простую выборку. Только вот как это делается, я не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2002, 18:31 |
|
Общий вопрос по SQL
|
|||
---|---|---|---|
#18+
To MichaelGK. > fl_nm = 'ovn' fl_nm = 'adr' А если наперед не известно, сколько будет разных значений во второй таблице, т.е. таблица результат будет динамически меняться в зависимости о количества различных значений в столбце второй таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2002, 18:40 |
|
Общий вопрос по SQL
|
|||
---|---|---|---|
#18+
При такой постановке задачи тебе дали самый правильный ответ! Если его немножко переделать, станет покороче Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2002, 09:56 |
|
|
start [/forum/topic.php?fid=45&msg=32053992&tid=1683240]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
143ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 321ms |
total: | 548ms |
0 / 0 |