|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Ссылочные значения полей
У меня тут такая проблема, обресую в общем , у меня есть 2 таблицы, А,В и С . Значения в таблице С ссылочные, хранятся в таблицах А,В . Когда я делаю SQL запрос к таблице С у меня в значениях полей хранится только какое то число, как сделать что бы было значение поля???
|
#2
|
||||
|
||||
Ну, дык, надо запрос делать к таблицам A и B
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
||||
|
||||
Надо создать "представление". Поищи о создании представлений (VIEWS), так на пальцах не объяснишь что к чему.
|
#4
|
|||
|
|||
Зачем ему представление (view). Ему надо просто сделать нужные JOIN'ы.
Что-то типа: Код:
SELECT A.*, B.* FROM C LEFT JOIN A ON C.AID = A.ID LEFT JOIN B ON C.BID = B.ID Более точно - надо смотреть структуры таблиц. |
#5
|
||||
|
||||
Цитата:
Любопытно, а что вы понимаете под представлением? Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
обресую так: у меня 3 таблицы
"Продажа аксессуаров" :Код, Дата продажи, Наименование отдела, Наименование, Цена, Количество "Отделы": код, Наименование отдела "Аксессуары": Код, Наименование, Цена В поледе Продажа Аксессуаров.Наименование отдела , в подстановке стоит условие источника строк <<SELECT Отделы.Код, Отделы.[Наименование отдела] FROM Отделы; >> В поле Продажа Аксессуаров. Наименование <<SELECT Аксессуары.Код, Аксессуары.Наименование FROM Аксессуары; >> Цитата:
но выходит ошибка : "Параметр Отделы.Наименование не имеет значения по умолчанию" |
#7
|
||||
|
||||
Вообщето он пишет скорее такое сообщение:
"Параметр Оделы.Наименование не имеет значения по умолчанию" Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#8
|
|||
|
|||
Цитата:
Я же написал - view. |
#9
|
|||
|
|||
еще я попробывал вот такой вот запрос
Цитата:
но опять такая же ошибка, что делать? |
#10
|
|||
|
|||
ладно, проблема запросов вроде кое как решена, пришлось выкинуть это поле из запроса теперь у меня другая проблема, мне нужно вставить в таблицу данные, обычным "Updete " .... ничего не получается т.к. данные в таблице ссылочные, и надо выбирать из списка в Аccess'e а вот как это в Дельфях реализовать?
|
#11
|
||||
|
||||
1. Вы вообще, читаете что вам советуют? Я выделил специально опечатку жирным шрифтом, а вы упорно ее игнорируете. Снова тупо скопировали ту-же ошибку.
2. Програмирование нетерпит небрежности, если вы и дальше будете невнимательно применять директивы, вы ничего несможете написать. Где вы там такое "Updete " увидели? Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#12
|
|||
|
|||
упс, простите, я хотел написать Insert а в голове в этот момент крутилось слово Update. Я создаю запрос на вставку, но он не может вставить запись в таблицу т.к. значения то не здесь хранятся
|
#13
|
||||
|
||||
Если речь идет все о той-же тройке таблиц [продажа акссесуаров], отделы, аксессуары
то, одним запросом на вставку можно это сделать только в том случае если у вас есть собственный обработчик вставки данных. Если бы вы для подключения использовали BDE, то в связке с TQuery,TUpdateSQL можно это было-бы реализовать достаточно просто. А вот для ADO придется уже ручками описать, что, куда и в каком порядке должно вставлятся. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#14
|
|||
|
|||
но там ведь идет так, в таблице "Продажа аксесуаров" есть поле наименование, в нем храниться значение код аксесуара, который храниться в таблице аксесуары, если я допустим напишу такой запрос
Цитата:
то он выводит ошибку |
#15
|
||||
|
||||
И правильно делает так как имя таблицы должно быть однозначно распознано т.е. быть одним словом или его надо заключать в ограничительные скобки, да еще неплохо бы писать без грамматических ошибок:
Код:
Insert into [Продажа аксесуаров] (Наименование) Values(13) Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |