• Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

SQL problem

EternalOptimist

The beerded one
Thanks received
191
trying to do a sql statement here, every time I key in total, it comes on the screen as Totale

whats going on, am I being xenophobic




:rolleyes:
 
Try this:

select *
from foreign_pool_of_workers

or

select *
from workers
where workers.nationality not in ("british")

NOTE: you cannot use a UNION in this query.
 
Try this:

select *
from foreign_pool_of_workers

or

select *
from workers
where workers.nationality not in ("british")

NOTE: you cannot use a UNION in this query.

I think you'll find

select worker
from foreign_pool_of_workers a
where a.nationality not in ('british','italian')

is more efficient :D
 
I prefer an object orientated approach to the Jonny foreigner problem.

ForeignPoolOfWorkers pool = new ForeignPoolOfWorkers
ForeignPoolOfWorkers.Where(Columns.Nationality, Comparison.NotEqual, "british").Load
 
I prefer an object orientated approach to the Jonny foreigner problem.

ForeignPoolOfWorkers pool = new ForeignPoolOfWorkers
ForeignPoolOfWorkers.Where(Columns.Nationality, Comparison.NotEqual, "british").Load

Yuk!

Code:
public static IQueryable<TSource> WhereIn<TSource, TKey> (
        this IQueryable<TSource> source1,
        Expression<Func<TSource, TKey>> keySelector,
        IEnumerable<TKey> source2) {
    if (null == source1)
        throw new ArgumentNullException ("source1");
    if (null == keySelector)
        throw new ArgumentNullException ("keySelector");
    if (null == source2)
        throw new ArgumentNullException ("source2");
    Expression where = null;
    foreach (TKey value in source2) {
        Expression equal = Expression.Equal (
                    keySelector.Body,
                    Expression.Constant (value, typeof (TKey))
                    );
        if (null == where)
            where = equal;
        else
            where = Expression.OrElse (where, equal);
    }
    return source1.Where<TSource> (
        Expression.Lambda<Func<TSource, bool>> (
            where, keySelector.Parameters));
}

var britishJobsForBritishWorkersHaHa = (from u in db.Workers
    select new { u.FirstName, u.LastName, u.Nationality }
    ).WhereIn (u => u.Nationality, new string[] { "Italian", "French", "Polish" });
 
public static IQueryable<TSource> WhereIn<TSource, TKey> (
this IQueryable<TSource> source1,
Expression<Func<TSource, TKey>> keySelector,
IEnumerable<TKey> source2) {
if (null == source1)
throw new ArgumentNullException ("source1");
if (null == keySelector)
throw new ArgumentNullException ("keySelector");
if (null == source2)
throw new ArgumentNullException ("source2");
Expression where = null;
foreach (TKey value in source2) {
Expression equal = Expression.Equal (
keySelector.Body,
Expression.Constant (value, typeof (TKey))
);
if (null == where)
where = equal;
else
where = Expression.OrElse (where, equal);
}
return source1.Where<TSource> (
Expression.Lambda<Func<TSource, bool>> (
where, keySelector.Parameters));
}

var britishJobsForBritishWorkersHaHa = (from u in db.Workers
select new { u.FirstName, u.LastName, u.Nationality }
).WhereIn (u => u.Nationality, new string[] { "Italian", "French", "Polish"
});

Fancy breaking this down line by line - maybe the less intelligent amongst us may get the joke :o
 

Advertisers

Back
Top