• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • 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!

Reply to: SQL problem

Collapse

You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:

  • You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
  • You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
  • If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.

Previously on "SQL problem"

Collapse

  • FSM with Cheddar
    replied
    Yes my code was calling to be turned into the lambarda, but DP you must really have too much to time on your hands.

    Leave a comment:


  • Churchill
    replied
    Originally posted by original PM View Post
    });

    Fancy breaking this down line by line - maybe the less intelligent amongst us may get the joke
    I don't think you will.

    Leave a comment:


  • original PM
    replied
    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

    Leave a comment:


  • DimPrawn
    replied
    Originally posted by FSM with Cheddar View Post
    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" });

    Leave a comment:


  • FSM with Cheddar
    replied
    I prefer an object orientated approach to the Jonny foreigner problem.

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

    Leave a comment:


  • Ruprect
    replied

    Leave a comment:


  • Sysman
    replied
    Originally posted by Ruprect View Post
    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.

    Leave a comment:


  • Zippy
    replied
    Originally posted by Ruprect View Post
    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

    Leave a comment:


  • Grinder
    replied
    Originally posted by expat View Post
    all your sql are belong to nous

    Leave a comment:


  • expat
    replied
    Originally posted by EternalOptimist View Post
    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




    all your sql are belong to nous

    Leave a comment:


  • Ruprect
    replied
    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.

    Leave a comment:


  • EternalOptimist
    started a topic SQL problem

    SQL problem

    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




Working...
X