Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
micha26 Member Откуда: Сообщений: 8 |
Здравствуйте. Нужно получить данные из двух таблиц товароучетки убрав повторяющиеся строки: Сваял такой запрос: SELECT Goods.Code, Goods.Name,Goods.PriceOut1,Goods.PriceOut2,Operations.Qtty,Operations.OperType,Operations.Date From Goods,Operations Where Goods.Code = (SELECT DISTINCT Goods.Code) and Goods.Name = (SELECT DISTINCT Goods.Name) and Date = (SELECT DISTINCT Operations.Date) and PriceOut1 = (SELECT DISTINCT Goods.PriceOut1) and PriceOut2 = (SELECT DISTINCT Goods.PriceOut2) and Qtty = (SELECT DISTINCT Operations.Qtty) and OperType = (SELECT DISTINCT Operations.OperType) and OperType = 1 and Date <= '2012-09-08' and Date >= '2011-01-01' and Name != 'Служебный товар' and Qtty != 0 Order by 1 Но не выходит ни фига - в sql я не силен пока, только учусь. Подскажите куда копать? заранее спасибо. |
23 авг 13, 10:35 [14745840] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
http://firststeps.ru/sql/r.php?8 |
||
23 авг 13, 10:38 [14745870] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
micha26, для начала прочитать про JOINы. И оформите, пожалуйста, вопрос согласно Рекомендации по оформлению сообщений в форуме, особенно п.п. 4 и 6 Используйте тег SRC |
23 авг 13, 10:40 [14745885] Ответить | Цитировать Сообщить модератору |
micha26 Member Откуда: Сообщений: 8 |
iap, Рекомендации прочитал - вроде помогите не писал :-) Надо новую тему создать или можно изменить существующую? Если менять то как? С Join пробовал - запрос зависает. Поясню - во второй таблице Operations только одно идентичное первой таблице поле PriceIn а надо вытащить еще и Date. |
23 авг 13, 10:59 [14746041] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Читайте дальше 3го пункта
Вам предложили выполнить п.4. и п.6
Т.е. теперь еще нужно угадать текст запроса ?
Рекомендации по оформлению сообщений в форуме, особенно п.п. 4 и 6 |
||||||||
23 авг 13, 11:03 [14746070] Ответить | Цитировать Сообщить модератору |
icprog Member Откуда: Сообщений: 166 |
micha26,SELECT DISTINCT [Список Нужных Столбцов] FROM Goods inner join Operations ON Goods.[Поле]=Operations.[Поле] --Поле по которому связаны таблицы WHERE Ваши Условия |
23 авг 13, 11:15 [14746154] Ответить | Цитировать Сообщить модератору |
micha26 Member Откуда: Сообщений: 8 |
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Service Pack Требуется выборка из двух таблиц Goods и Operations - запрос приведен ниже. SELECT Goods.Code, Goods.Name,Goods.PriceOut1,Goods.PriceOut2,Operations.Qtty,Operations.OperType,Operations.Date From Goods,Operations Where Goods.Code = (SELECT DISTINCT Goods.Code) and Goods.Name = (SELECT DISTINCT Goods.Name) and Date = (SELECT DISTINCT Operations.Date) and PriceOut1 = (SELECT DISTINCT Goods.PriceOut1) and PriceOut2 = (SELECT DISTINCT Goods.PriceOut2) and Qtty = (SELECT DISTINCT Operations.Qtty) and OperType = (SELECT DISTINCT Operations.OperType) and OperType = 1 and Date <= '2012-09-08' and Date >= '2011-01-01' and Name != 'Служебный товар' and Qtty != 0 Order by 1 И попытка номер два SELECT DISTINCT Goods.Code,Goods.Date,Goods.Name,Goods.PriceIn,Goods.PriceOut1, Goods.PriceOut2,Operations.PriceIn,Operations.Date From Goods, Operations Where Operations.PriceIn = Goods.PriceIn and Operations.Date = Goods.Date Еще что-то подправить? |
23 авг 13, 11:27 [14746260] Ответить | Цитировать Сообщить модератору |
micha26 Member Откуда: Сообщений: 8 |
icprog, Я пробовал нечто похожее - сейчас попытаюсь по вашему сделать, возможно я что-то упустил. Спасибо заранее. |
23 авг 13, 11:29 [14746278] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ничего, если этот запрос выдает вам нужные данные |
||
23 авг 13, 11:31 [14746292] Ответить | Цитировать Сообщить модератору |
icprog Member Откуда: Сообщений: 166 |
Условие не зубудьте. Что-то тапа: SELECT DISTINCT Goods.Code,Goods.Date,Goods.Name,Goods.PriceIn,Goods.PriceOut1,Goods.PriceOut2,Operations.PriceIn,Operations.Date FROM Goods inner join Operations ON Operations.PriceIn = Goods.PriceIn and Operations.Date = Goods.Date WHERE Operations.OperType = 1 and Operations.Date <= '2012-09-08' and Operations.Date >= '2011-01-01' and Goods.Name != 'Служебный товар' and Operations.Qtty != 0 |
||
23 авг 13, 11:34 [14746333] Ответить | Цитировать Сообщить модератору |
icprog Member Откуда: Сообщений: 166 |
icprog, Ёлки-палки, одни очепятки )))) |
23 авг 13, 11:35 [14746349] Ответить | Цитировать Сообщить модератору |
micha26 Member Откуда: Сообщений: 8 |
Вот сделал таким макаром SELECT DISTINCT Goods.Code, Goods.Name,Goods.PriceIn,Goods.PriceOut1,Goods.PriceOut2, Operations.PriceIn,Operations.Qtty,Operations.OperType,Operations.Date FROM Goods inner join Operations ON Goods.PriceIn =Operations.PriceIn WHERE OperType = 1 and Operations.Date <= '2012-09-08' and Operations.Date >= '2011-01-01' and Name != 'Служебный товар' and Qtty != 0 Order by 1 Запрос крутится - подозреваю что завис... |
||
23 авг 13, 11:52 [14746563] Ответить | Цитировать Сообщить модератору |
micha26 Member Откуда: Сообщений: 8 |
Да нет я имел в виду - подправить по оформлению темы - но все равно спасибо. :-) |
||||
23 авг 13, 11:58 [14746629] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Вы дочитали до п.6 ? Если да, то почему не привели описание таблиц, примеры данных и желаемый конечный результат ? |
||
23 авг 13, 11:59 [14746648] Ответить | Цитировать Сообщить модератору |
micha26 Member Откуда: Сообщений: 8 |
Хм... Желаемый результат выборка товаров до определенной даты с удалением повторяющихся строк: 21.11.1900 бочка с квасом 1шт. 1 рубль 23.11.1901 просто бочка 10 шт. 10 рублей |
23 авг 13, 12:09 [14746765] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Фейспалм какой то Вы прочитали п.6 ??? Ссылку на пример оформления открыли ??? Или чукча не читатель, а писатель ? |
||
23 авг 13, 12:10 [14746780] Ответить | Цитировать Сообщить модератору |
micha26 Member Откуда: Сообщений: 8 |
Так ладно чтобы фейспалм не разводить - спасибо за помощь, будем дальше разбираться. Закройте пожалуйста тему. |
23 авг 13, 12:17 [14746838] Ответить | Цитировать Сообщить модератору |
icprog Member Откуда: Сообщений: 166 |
Видимо, здесь еще и агрегатные функции нужны будут |
||
23 авг 13, 12:25 [14746916] Ответить | Цитировать Сообщить модератору |
vaskaxxx
Guest |
select * from tbl1 union select * from tbl2 |
23 авг 13, 12:55 [14747152] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |