powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL запрос
11 сообщений из 11, страница 1 из 1
SQL запрос
    #37749812
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица ttt например kod1,kod2,naim, надо сделать запрос выборки по двум кодам
если по одному коду то понятно
select * from ttt where kod1 in (select kod1 from ttt group by kod1),
а если по двум кодам, то не совсем понятно, кто как делает такие запросы...., в символьное поле переводить, например
select * from ttt where str(kod1)+str(kod2) in (select str(kod1)+str(kod2) as kod from ttt group by kod1,kod2), не желательно....
...
Рейтинг: 0 / 0
SQL запрос
    #37749824
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1,

select * from ttt where kod1 in (select kod1 from ttt group by kod1)

Непонятная конструкция.
Какие данные ты хочешь получить?
...
Рейтинг: 0 / 0
SQL запрос
    #37749901
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда... неудачный пример, но суть не в этом, как эту конструкцию where in, использовать для двух кодов kod1,kod2

Цель сгруппировать таблицу по двум кодам, но поля которые не суммируются и не подлежат группировки, тоже должны выводиться без функции max.. (select max(naim),kod1 from ttt group by kod1)
...
Рейтинг: 0 / 0
SQL запрос
    #37749913
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1,

Все равно ничего не понял. Суммировать не надо, а группировать надо (:
А DISTINCT не катит?
...
Рейтинг: 0 / 0
SQL запрос
    #37750005
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1,

может, вы ищете функцию INLIST()?
...
Рейтинг: 0 / 0
SQL запрос
    #37750021
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так... что-то всё сложно... :-)
перваятаблица наименованиея...ttt
вторая таблица суммирование
select sum (kol), kod1,kod2 from ttt group by kod1,kod2 into table ttt1
теперь к этой таблице суммирование надо поставить наименования(ну и другое множество полей...)
select ttt.*,ttt1.* from ttt1 left join ttt on ttt.kod`=ttt1.kod1 and ttt.kod2=ttt1.kod2

Да, но как использовать в конструкции where in сразу два кода...просто так для общего понимания, без всякой конкретики...
...
Рейтинг: 0 / 0
SQL запрос
    #37750055
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1Да, но как использовать в конструкции where in сразу два кода...просто так для общего понимания, без всякой конкретики...
Если конструировать одно значение из нескольких не хочется, то логичнее в подобных случаях выглядит использование вместо IN конструкции EXISTS()

Код: sql
1.
2.
select * from ttt t1
where exists(select 1 from ttt t2 where t1.kod1 = t2.kod1 and t1.kod2 = t2.kod2)
...
Рейтинг: 0 / 0
SQL запрос
    #37750125
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что такое 1
...
Рейтинг: 0 / 0
SQL запрос
    #37750246
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1а что такое 1
Ну, напишите 2

Команда SELECT не может быть написана без указания возвращаемых значений. Что-то надо написать обязательно. А поскольку в данном случае конкретное возвращаемое значение роли не играет (важен факт наличия записи, а не содержимое этой записи), то и пишется константа. Любая.
...
Рейтинг: 0 / 0
SQL запрос
    #37750273
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, спасибо...
...
Рейтинг: 0 / 0
SQL запрос
    #37751038
LUCIAN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
q1w1e1,
Код: sql
1.
2.
3.
4.
SELECT CSUM.KOD1,CSP1.NAM1,CSUM.KOD2,CSP2.NAM2,CSUM.KOL FROM ;
(select KOD1,KOD2,SUM(KOL) KOL from ttt GROUP BY 1,2) CSUM ;
INNER JOIN (SELECT DIST KOD1,NAM1 FROM TTT ) CSP1 ON CSP1.KOD1 = CSUM.KOD1 ;
INNER JOIN (SELECT DIST KOD2,NAM2 FROM TTT ) CSP2 ON CSP2.KOD2 = CSUM.KOD2 
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]