Naveed
Naveed

Reputation: 42093

SQL Server Query Problem?

I was using MySQL's concat_ws function to get data from MySQL database and it was working perfectly. I discover this query through this SO Question. Now I have same case but this time database is SQL Server.

Asking again for SQL Server:

I have a table like this:

id | roll_no | name
---------------------
 1 |   111   | Naveed
 2 |   222   | Adil
 3 |   333   | Ali 

If I have data like this:

$fields = array( "id" , "roll_no" ) and $values = array( "1,111", "2,222" );

It means I have to write a sql query to get records from table where (id != 1 and roll_no != 111) and (id != 2 and roll_no != 222). It means 3rd record will be fetched.

I have data like this:

$fields = array( "id" ) and $values = array( "2", "3" );

It means I have to write a sql query to get records from table where (id != 2) and (id != 3). It means 1st record will be fetched.

How to write a general single query to get data from table using above two data arrays?

Thanks

Upvotes: 0

Views: 319

Answers (2)

Muktadir
Muktadir

Reputation: 115

It's a simple sql. Do you know 'where (not) in' clause?

Like for the first one if you have 1-to-1 relation between id and roll no, you can simple write

select * 
from table 
where id not in ('1','2') and roll_no not in ('111','222')

For the second it's easier.

Upvotes: 1

iDevlop
iDevlop

Reputation: 25262

Your question is unclear for me, but from the link you provided to the other SO question, and assuming you just want to adapt to SQL Server, I guess you could just replace

concat_ws (',', id, roll_no)

by

id + ',' + roll_no

Upvotes: 3

Related Questions