Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с запросом
 
 автор: posterminal   (12.11.2008 в 14:55)   личное сообщение
 
 

есть таблица
np fio np1 ns1 np2 ns2
1 Иванов 4 10 3 20
2 Колян 3 10 4 10
3 сидоров
4 петров
где np1, np2-номер человека, которому продает свой товар,
ns1,ns2- кол-во которое продает.
нужно следующее: при вводе фамилии сидоров получить
иванов 20
колян 10
или при вводе фамилии петров-
иванов 10
колян 10

  Ответить  
 
 автор: Denis V.   (12.11.2008 в 16:52)   личное сообщение
 
 

А что тут сложного? Обычный запрос на выборку... точнее два, обединённых с помощью UNION. ;-)

  Ответить  
 
 автор: posterminal   (12.11.2008 в 17:00)   личное сообщение
 
 

если можно подробнее

  Ответить  
 
 автор: posterminal   (12.11.2008 в 17:04)   личное сообщение
 
 

это может быть первый запрос?
SELECT Таблица1.np, Таблица1.fio, Таблица1.np1, Таблица1.ns1, Таблица1_1.fio, Таблица1.np2, Таблица1.ns2, Таблица1_2.fio
FROM (Таблица1 INNER JOIN Таблица1 AS Таблица1_1 ON Таблица1.np1 = Таблица1_1.np) INNER JOIN Таблица1 AS Таблица1_2 ON Таблица1.np2 = Таблица1_2.np
WHERE (((Таблица1_1.fio)=[фио])) OR (((Таблица1_2.fio)=[фио]));

  Ответить  
 
 автор: Denis V.   (12.11.2008 в 17:49)   личное сообщение
 
 

Что так много столбцов в предложении SELECT? Вы же хотели только два: Фамилия и количество. Ладно, на код ещё можно согласиться, но всё остальное зачем?
Для первого запроса Вам нужно выбрать два столбца fio и ns1 из Вашей таблицы, где np1 соответствует фамилии "Сидоров", у которой np = 3 из той же таблицы. Если дословно перевести на SQL, то объединение и не требуется.
Для второго запроса вместо ns1 ставится ns2, а вместо np1 - np2.

  Ответить  
 
 автор: osmor   (12.11.2008 в 18:19)   личное сообщение
 
 

пока не поздно поменяйте структуру БД

  Ответить  
 
 автор: posterminal   (13.11.2008 в 10:15)   личное сообщение
 
 

поздно

  Ответить  
 
 автор: Denis V.   (13.11.2008 в 10:45)   личное сообщение
 
 

Никогда не поздно!!!

  Ответить  
 
 автор: Denis V.   (13.11.2008 в 10:44)   личное сообщение
 
 

Я уже пытался объяснить, не получилось ;-)

  Ответить  
 
 автор: posterminal   (13.11.2008 в 10:57)   личное сообщение
15 Кб.
 
 

посмотрите отчет. мне нужно сделать в таком виде
ввожу петров
в отчете
иванов 10
колян 10

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList