In my table INVENTORY there are 3 columns varchar code, version, description.
e.g
code  || version || description
--------------------------
AS100 ||   01    || description
AS100 ||   02    || description
AS100 ||   02    || description
AS100 ||   02    || description
AS200 ||   01    || description
AS300 ||   01    || description
AS300 ||   01    || description
I want to select all those products that have the same product and multiple versions. In the above table, this query would returned:
AS100 - 01 - description
AS100 - 02 - description
I tried to use HAVING statement but I don't get the above result..
For example, I tried this:
SELECT code, version, Count(*) FROM INVENTORY
GROUP BY version
HAVING Count(*) =1
but it returns all the codes which appears once.
I created an SQLFIDDLE here (I hope it plays, sometimes the page freezes) A small dump of my DB
CREATE TABLE "INVENTORY" (
    "code" VARCHAR, 
    "version" VARCHAR,
    "description" VARCHAR
)
INSERT INTO INVENTORY (code, version, description) VALUES("AS100", "01", "description");
INSERT INTO INVENTORY (code, version, description) VALUES("AS100", "02", "description");
INSERT INTO INVENTORY (code, version, description) VALUES("AS100", "02", "description");
INSERT INTO INVENTORY (code, version, description) VALUES("AS100", "02", "description");
INSERT INTO INVENTORY (code, version, description) VALUES("AS200", "02", "description");
INSERT INTO INVENTORY (code, version, description) VALUES("AS300", "01", "description");
INSERT INTO INVENTORY (code, version, description) VALUES("AS300", "01", "description");
				
                        
Perhaps this is what you want?
That is, first make a table aggregated by the two columns of interest, then choose the rows from this table where there are at least two distinct values of code.