我想通过MS-SQL和MySql数据库进行连接。如何在查询中加入MS-SQL和MySQL表?
MS-SQL查询有效地生成了一个索引,然后我想拉回所有与此查询结果匹配的MySQL记录。 (我可以带回两个表,即MySQL的未过滤数据,然后使用Linq进行过滤,但这样会效率低下,因为我将拉回比我需要更多的数据。)
MS-SQL查询是通过LINQ的完成:
var fb1 = from f in db.tl_feedbacks
where f.timestamp >= new DateTime(fromYear, fromMonth, fromDay)
&& f.timestamp <= new DateTime(toYear, toMonth, toDay)
select new {f.requestID, f.tl_feedback_score.score };
这将带给我们一个表是这样的:
RequestID | score
-----------------
12345 | 1
12349 | 3
12446 | 3
等
从这个我想从下面的MySQL只返回记录查询在上表中有一个请求ID:
SELECT wo.WORKORDERID,
COALESCE(ti.FIRST_NAME,'Not Assigned') AS 'Technician',
COALESCE(cd.CATEGORYNAME, 'Not Assigned') AS Category,
COALESCE(scd.NAME, 'Not Assigned') AS Subcategory,
wof.UDF_CHAR1 "Office Location"
FROM WorkOrder_Threaded wot
INNER JOIN WorkOrder wo ON wot.WORKORDERID=wo.WORKORDERID
LEFT JOIN SDUser sdu ON wo.REQUESTERID=sdu.USERID
LEFT JOIN AaaUser aau ON sdu.USERID=aau.USER_ID
LEFT JOIN WorkOrderStates wos ON wo.WORKORDERID=wos.WORKORDERID
LEFT JOIN SDUser td ON wos.OWNERID=td.USERID
LEFT JOIN AaaUser ti ON td.USERID=ti.USER_ID
LEFT JOIN CategoryDefinition cd ON wos.CATEGORYID=cd.CATEGORYID
LEFT JOIN SubCategoryDefinition scd ON wos.SUBCATEGORYID=scd.SUBCATEGORYID
LEFT JOIN WorkOrder_Fields wof ON wo.WORKORDERID=wof.WORKORDERID
即我只是想拉回来的记录12345,在这个例子中12349和12446。最终,我想要一个单一表,其中包含requestID,分数以及MySQL查询中的列。但是,如果我能够获得“已过滤”的MySQL表格,我可以在之后加入这两个表格。我只是不想将MySQL重新带回“未过滤”,因为表格会很大。