簡體   English   中英

C#中的內部Join sql查詢

[英]Inner Join sql query in C#

我需要將此查詢變成一個變量,但我很難創建它。 我在 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 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("@")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM