SQL Query execute more records in WHERE CLAUSE

sql multiple where clauses in one query
sql multiple conditions same column
sql where clause multiple conditions
where clause in sql server
having clause in sql
order of execution of sql query in mysql
sql filter example
select query in php with where clause

I have SQL Query in which execute data from VIEW. In this Query i have 4 parameters, all parameters data stored in another table. 3 Parameters have data in table and 1 Parameter has no record. In 3 Parameters there are total "1080" records, but this query execute "16000" records.

My SQL Query:

SELECT DISTINCT COL1, COL2, COL3, COL4

FROM TABLE

WHERE (COL1 IN (SELECT VAL FROM RPPARAMLIST where flg = 'I') OR COL1 = COL1)
AND (COL2 IN (SELECT TO_NUMBER(VAL) FROM RPPARAMLIST where flg = 'P') OR COL2 = COL2)
AND (COL3 IN (SELECT TO_NUMBER(VAL) FROM RPPARAMLIST where flg = 'C') OR COL3 = COL3)
AND (COL4 IN (SELECT TO_NUMBER(VAL) FROM RPPARAMLIST where flg = 'U') OR COL4 = COL4);

When i remove OR condition in WHERE CLAUSE Then show empty records.

Sample Data:

1080 records

Output Data:

13619 Records

Those are 'tautologies': all the 'and' are short-circuited. You could remove all the where and and clauses and you'll have same result:

SELECT DISTINCT COL1, COL2, COL3, COL4
FROM TABLE

will give you same result as your current status is like:

SELECT DISTINCT COL1, COL2, COL3, COL4
FROM TABLE
WHERE (<condition> OR TRUE) -- =TRUE
AND (<condition> OR TRUE)   -- =TRUE
AND (<condition> OR TRUE)   -- =TRUE
AND (<condition> OR TRUE)   -- =TRUE

SQL: WHERE Clause, This SQL tutorial explains how to use the SQL WHERE clause with syntax and to specify more than 1 condition that must be met for the record to be selected. Search For Database Sql Fast and Save Time. Search For Database Sql Here.

placing "OR COL1 = COL1" on your query will result on always true. I believe you wanted to do it this way:

SELECT DISTINCT COL1, COL2, COL3, COL4
FROM TABLE
WHERE COL1 IN (SELECT VAL FROM RPPARAMLIST where flg = 'I')
AND COL2 IN (SELECT TO_NUMBER(VAL) FROM RPPARAMLIST where flg = 'P') 
AND COL3 IN (SELECT TO_NUMBER(VAL) FROM RPPARAMLIST where flg = 'C') 
AND COL4 IN (SELECT TO_NUMBER(VAL) FROM RPPARAMLIST where flg = 'U');

How to Filter Query Results using WHERE, This clause makes it possible to filter only those rows you wish to include in your To find all OrderDetails with a TotalPrice more than 100 dollars, your query  Find Database Sql. Search More Results Here! Search for Database Sql More Information at Everymanbusiness.com!

I think this is the query you want:

SELECT DISTINCT t.col1, t.col2, t.col3, t.col4
FROM table_name t
WHERE EXISTS
        (
            SELECT 1 
            FROM rpparamlist 
            WHERE flg = 'I' AND t.col1 = val 
        )
    OR EXISTS
        (
            SELECT 1 
            FROM rpparamlist 
            WHERE flg = 'P' AND t.col2 = TO_NUMBER(val) 
        )
    OR EXISTS
        (
            SELECT 1 
            FROM rpparamlist 
            WHERE flg = 'C' AND t.col3 = TO_NUMBER(val) 
        )
    OR EXISTS
        (
            SELECT 1 
            FROM rpparamlist 
            WHERE flg = 'U' AND t.col4 = TO_NUMBER(val) 
        );

This query will check for all 4 conditions with rpparamlist, then union these 4 results to get the last result

SQL Query Order of Execution, The SQL order of execution defines the order in which the clauses of a planners can do all sorts of tricks to make queries run more efficiently, but they The where clause is used to limit the now-joined data by the values in  Find Database Sql. Get High Level of Information! Search for Database Sql. Now Specific Results from your searches!

Question: How to execute SQL query with where clause having IN , We have requirement to read multiple records from SQL table based on where clause as below. Select Col1, Col2, Col3 from Table1 where  Search for Database Sql on the New Internetcorkboard.com. Find Database Sql Now at Internetcorkboard.com!

SQL Server TOP clause overview and examples, Execute the query, and it deleted 13 records. We specified the TOP 10 clause, so it should not delete more than 10 records. It might delete more  In SQL query the WHERE clause basically helps you to filter the records based on certain criteria. In this post explained about all the possible conditions that you can give. #1. SQL WHERE Clause ‘Equal’ Condition. SELECT MY_NAME FROM EMPLOYEE WHERE MY_NAME LIKE %SRI% or SELECT * FROM EMPLOYEE WHERE MY_NAME = 'SRINIMF'.

How to limit the SQL query result set to Top-N rows only, Fetching more data than necessary is the number one cause of data access The execution plan for the SQL query above looks as follows: The SQL:2008 Top-N records clause is supported in Oracle since 12c, SQL Server  The SQL WHERE clause is used to restrict the number of rows affected by a SELECT, UPDATE or DELETE query. The WHERE clause can be used in conjunction with logical operators such as AND and OR, comparison operators such as ,= etc. When used with the AND logical operator, all the criteria must be met.

Comments
  • share sample data and its expected output
  • You will get all data when you use OR COL1 = COL1, exclude all COL1 is null
  • 4th Column has no record
  • @AmmadWasim Please edit your question adding sample data and desired output
  • @AmmadWasim No column's titles, as is, tells nothing
  • with this query it shows empty records Becuase COL4 has no record
  • can you give the exact or sample data per column and desired output data?