C# C语言中的内部连接sql查询#
我需要把这个查询变成一个变量,但是我很难创建它。我在c#中的查询快结束时被卡住了,这就是我所拥有的。我是个新手,只是自学成才,所以可能会有很大的差距。但这就是我目前所拥有的C# C语言中的内部连接sql查询#,c#,sql,inner-join,C#,Sql,Inner Join,我需要把这个查询变成一个变量,但是我很难创建它。我在c#中的查询快结束时被卡住了,这就是我所拥有的。我是个新手,只是自学成才,所以可能会有很大的差距。但这就是我目前所拥有的 var query = (from CON in CONTACT join ACT in ACCOUNT on ACT.ACCOUNTID equals CON.ACCOUNTID join TTC in TTCONTRACT on TTC.ACCOUNTID equals
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 %@%
以下是原始SQL查询:
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 '%@%'
任何帮助都将不胜感激-谢谢。尝试以下方式:
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 '%@%'";
关于c#中的like算子等价于Contains方法。 在查询结束时,您应该指定需要选择的列
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
}
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("@")