Jamie Wright
Jamie Wright

Reputation: 45

Inner Join sql query in C#

I need to make this query into a Variable but I am having a hard time creating it. I get stuck towards the end of the query in c# this is what I have. I am pretty novice and only self taught so it could be way off. But this is what I have so far

var query = (from CON in CONTACT
             join ACT in ACCOUNT on ACT.ACCOUNTID equals CON.ACCOUNTID
             join TTC in TTCONTRACT on TTC.ACCOUNTID equals ACT.ACCOUNTID
             where CON.EMAIL != null && ACT.USERFIELD1 != null &&
                   int.TryParse(ACT.USERFIELD1) = 1 && CON.EMAIL like %@%

Here is the original SQL query:

Select 
    con.FIRSTNAME, Con.LASTNAME, Con.EMAIL, 
    Act.USERFIELD1 'SerialNumber', ACT.ACCOUNT, 
    TTC.SOFTWAREMAINTENANCE, TTC.HARDWAREMAINTENANCE
from 
    CONTACT CON 
Inner join
    ACCOUNT ACT on ACT.ACCOUNTID = CON.ACCOUNTID 
Inner join
    TTCONTRACTS TTC on TTC.ACCOUNTID = ACT.ACCOUNTID 
Where 
    Con.EMAIL is not null 
    and Act.USERFIELD1 is not null 
    and ISNUMERIC(Act.USERFIELD1) = 1 
    and con.EMAIL like '%@%'

Any help would be appreciated - thank you.

Upvotes: 1

Views: 5989

Answers (3)

Vijunav Vastivch
Vijunav Vastivch

Reputation: 4191

Try something like this:

var b = "Select con.FIRSTNAME, Con.LASTNAME, Con.EMAIL, Act.USERFIELD1 'SerialNumber', ACT.ACCOUNT, TTC.SOFTWAREMAINTENANCE, TTC.HARDWAREMAINTENANCE "+
"from CONTACT CON Inner join ACCOUNT ACT on ACT.ACCOUNTID = CON.ACCOUNTID " +
"Inner join TTCONTRACTS TTC on TTC.ACCOUNTID = ACT.ACCOUNTID " +
"Where Con.EMAIL is not null and Act.USERFIELD1 is not null and " +
"ISNUMERIC(Act.USERFIELD1) = 1 and con.EMAIL like '%@%'";

Upvotes: 1

var query = from CON in CONTACT
             join ACT in ACCOUNT on ACT.ACCOUNTID equals CON.ACCOUNTID
             join TTC in TTCONTRACT on TTC.ACCOUNTID equals ACT.ACCOUNTID
             where CON.EMAIL != null 
                && ACT.USERFIELD1 != null 
                && System.Data.Objects.SqlClient.SqlFunctions.IsNumeric(ACT.USERFIELD1) != null
                && CON.EMAIL.Containt("@")

Upvotes: 0

Mohammad Al Safra
Mohammad Al Safra

Reputation: 114

Regarding to like operator in c# is equivalent to Contains method. And at the end of your query you should specify what columns you need to select

var query = from CON in CONTACT     join ACT in ACCOUNT on  ACT.ACCOUNTID equals  CON.ACCOUNTID join TTC in  TTCONTRACT on TTC.ACCOUNTID  equals ACT.ACCOUNTID where  CON.EMAIL != null &&  ACT.USERFIELD1 != null &&  int.TryParse(ACT.USERFIELD1) = 1 &&  CON.EMAIL.Contains("@")
Select {
FIRSTNAME=con.FIRSTNAME,
LASTNAME=Con.LASTNAME,
EMAIL= Con.EMAIL, 
SerialNumber= Act.USERFIELD1 ,

ACCOUNT=ACT.ACCOUNT,
SOFTWAREMAINTENANCE= TTC.SOFTWAREMAINTENANCE,
HARDWAREMAINTENANCE= TTC.HARDWAREMAINTENANCE
}

Upvotes: 0

Related Questions