valid SQL statement?

Is this SQL statement valid?  refering to the "and"

Group BY item.inv_units_Pack and user_comp_permission.id_user = 37
tesla764Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ravikantninaveCommented:
use
Group BY item.inv_units_Pack HAVIN user_comp_permission.id_user = 37
0
r3nderCommented:
no
Group BY item.inv_units_Pack,user_comp_permission.id_user = 37
0
Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
<guess you mean this>

SELECT item.inv_units_Pack, -- one or more aggregated column such as SUM(), COUNT()
FROM -- some table(s)
WHERE user_comp_permission.id_user = 37
GROUP BY item.inv_units_Pack
0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

r3nderCommented:
or like this
SELECT top 10 TelemetryUID from Telemetry Group by TelemetryTime, TelemetryUID,BitTripNumber  HAVIng BitTripNumber = 2
0
Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
Couple of things, somewhat redundant with above columns...
*  Columns in GROUP BY are separated by commas
*  You can't have an logic expression in a GROUP BY

btw if it helps I have an article out there on SQL Server GROUP BY Solutions that would be a good read.   If it helped you please hit the 'Yes' button at the end.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
PatHartmanCommented:
Having and Where are applied in different stages of the query and so can have different effects.  They can both be used in the same query but if you build the query with the QBE, you need to be careful to specify WHERE when that is what you want since totals queries will always default to using Having.

WHERE is applied BEFORE the data is aggregated so you would use the Where clause if you were not including the field in the selection clause.  So the query selects all data prior to today but doesn't include the date in the aggregation.
Select fld1, fld2, Sum(fld3) as SumOfFld3
From yourtaable
Where fld4 < Date()
Group By fld1, fld2;

HAVING is applied AFTER the data is aggregated so it is most often used on some aggregate value.  Same as the first example except that after the data is aggregated, you apply a Having to select only rows where the sum of fld3 is greater than 333.
Select fld1, fld2, Sum(fld3) as SumOfFld3
From yourtaable
Where fld4 < Date()
Group By fld1, fld2
Having Sum(fld3) > 333;
0
tesla764Author Commented:
Thank you for your respones everyone. This is not my code and I deal with many languages.
I think you are telling me that the "and" being used is not correct?
0
Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
Well, the error message that would be returned when you execute it would tell you that it is not correct.

All of us are guessing what you're trying to pull off, and the correct way of doing it.  So if that's your intent, please provide us some more details as to what you're trying to do.  Preferably with a data mockup of what your data looks like now, and what you're trying to accomplish.
0
Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
Thanks for the split.  Good luck with your inherited code.  -Jim
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Development

From novice to tech pro — start learning today.