2010-10-26 4 views
0

Я хочу получить сумму количества из нижеследующего запроса. как я напишу группу по предложению ниже.получение проблемы в группе по предложению

select top 1 
EvrId, 
TimeStamp, 
Date, 
BnhTnkMik1 as Quantity, 
(select TnkCode from Tanklar where TnkId=BnhTnkId) as Tank, 
FuelCode, 
InvoiceNo from Evrak 
join Hareket on (BnhEvrId=EvrId) 
join Stoklar on (StokId=BnhStok) 
where EvrTip=14 and EvrStatu='A' 
+0

Ваш синтаксис оставляет желать много лучшего. Вы должны использовать псевдонимы таблиц ... Прямо сейчас нам неизвестно, какие столбцы поступают из таблиц. Предложение join не нуждается в скобках, и ваш подзапрос для поля Tank, вероятно, будет более быстрым и последовательным в качестве объединения. – Fosco

+0

на самом деле feild «BnhTnkMik1» может содержать 1 или более одного значения в таблице «Hareket». Мне нужно общее количество для определенного продукта в соответствии с этим EvrId, который сопоставляется с столбцом BnhEvrId. –

ответ

0
select 
    EvrId, 
    sum(BnhTnkMik1) as Quantity, 
from Evrak 
join Hareket on (BnhEvrId=EvrId) 
join Stoklar on (StokId=BnhStok) 
where EvrTip=14 and EvrStatu='A' 
group by 
    EvrId 
+0

Спасибо, но я получаю те же данные, что и я, прежде получая –

+0

@ gorfor.net. Вам нужно быть более конкретным в своем вопросе. Что бы вы хотели? EvrId или какой-либо другой столбец? – Martin

0
select top 1 
    EvrId, 
    TimeStamp, 
    Date, 
    SUM(BnhTnkMik1) as Quantity, 
    (select TnkCode from Tanklar where TnkId=BnhTnkId) as Tank, 
    FuelCode, 
    InvoiceNo 
from 
    Evrak 
    join Hareket on (BnhEvrId=EvrId) 
    join Stoklar on (StokId=BnhStok) 
    where EvrTip=14 and EvrStatu='A' 
GROUP BY 
    EvrId, 
    TimeStamp, 
    Date, 
    (select TnkCode from Tanklar where TnkId=BnhTnkId), 
    FuelCode, 
    InvoiceNo 
+0

спасибо за ответ но я получаю следующую ошибку после выполнения Невозможно использовать агрегат или подзапрос в выражении, используемом для группы по списку предложения GROUP BY. –