表:
id userid friendid name status
1 1 2 venkat false
2 1 3 sai true
3 1 4 arun false
4 1 5 arjun false
Run Code Online (Sandbox Code Playgroud)
如果用户发送userid = 1,则friendids = 2,4,5 status = true
请告诉我如何更新以上所有friendids状态的查询是真的.[2,3,4一次].?
谢谢
所以我有一个字符串列表,如下所示:
var ls=new List<string>()
{
"100",
"101-102-1002",
"105-153-1532-1532",
"105-1854-45-198",
"180-95-45-200"
};
Run Code Online (Sandbox Code Playgroud)
我想得到分裂字符串的倒数第二个.所以我的输出看起来像这样:
null,
102,
1532,
45,
45
Run Code Online (Sandbox Code Playgroud)
我有一个解决方案,看起来像这样:
ls.Select (l =>l.Split('-').Select ((s,i) =>new {s,i})
.OrderByDescending (x=>x.i).Skip(1).Take(1))
Run Code Online (Sandbox Code Playgroud)
我认为这个解决方案对于这个简单的任务可能很复杂.所以我的问题是:你们有没有更简单的解决方案来解决这个问题?
我正在使用LINQ to SQL来处理我正在处理的应用程序的数据库查询.
出于这个例子的目的,假设我有一些像这样的表
- Company
- Product
- Item
- Order
Run Code Online (Sandbox Code Playgroud)
并且假设a Company有0或更多Products,a Product有0或更多Items,a Item有0或更多Orders.
现在让我这样获得一个列表Orders,例如:
IQueryable<Order> myOrders = GetMyOrders();
Run Code Online (Sandbox Code Playgroud)
现在让我说我想查询一个特定的订单Company.Name,但是有一个情况,每个表的父ID都可以NULL(我知道这对我的示例数据来说似乎不合逻辑,但它只是一个例子)
假设没有NULL父ID我可以这样做:
var filteredOrders = myOrders.Where(x => x.Item.Product.Company.Name == "Company1");
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,因为可能有NULL父ID值,我需要检查每个父对象以确保它不是null在查询下一个父对象之前(否则我将得到一个异常).所以我做了类似的事情:
var filteredOrders = myOrders.Where(x =>
x.Item != null &&
x.Item.Product != null &&
x.Item.Product.Company != null &&
x.Item.Product.Company.Name == "Company1");
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:除了必须包含所有空检查之外,还有更好的方法(在可读性和编码的简易性方面)吗?在此过程中发现的任何空父项都应导致从结果列表中排除.
请不要阻止空父母的建议,数据库不会改变(无论如何都是完全有效的)
我有2个字符串数组:
A1: {"aa","bb","cc","dd","ee"}
A2: {"cc","dd,"ee","bla","blu"}
Run Code Online (Sandbox Code Playgroud)
我如何计算A1和之间相同元素的数量A2(在这种情况下为3)?
我有一个左连接的问题,我想要一个设计列表,在每个设计上我想显示每个设计有多少注释.
我正在使用LEFT JOIN
SELECT ds.*, count(com.comment) AS countcom FROM tdic_designs ds
LEFT JOIN tdic_comments com ON (com.design_id = ds.id)
WHERE ds.approved = 1 AND ds.hidden = 0 AND com.approved = 1
GROUP BY ds.id
ORDER BY ds.date_added ASC
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为它只显示一个有1个评论的设计,但我在表中有两个设计,其中第二个设计没有评论.
如果我将SQL更改为
SELECT ds.*, count(com.comment) AS countcom FROM tdic_designs ds
LEFT JOIN tdic_comments com ON (com.design_id = ds.id)
GROUP BY ds.id, com.approved, ds.approved
ORDER BY ds.date_added ASC
Run Code Online (Sandbox Code Playgroud)
那就是删除WHERE子句.但这很糟糕,因为它会选择尚未批准的设计和评论.
我错过了什么/做错了什么?
我在VS 2010中使用C#.Net4.0.如何重新启动Thread?
它就像我想要Abort()的线程和Start()它从一开始?可能吗?
我想知道从哪里System.Globalization.CultureInfo.CurrentCulture读取其值的设置或位置 .
我正在使用Windows 7笔记本电脑,并已将我的系统的区域和日期时间设置更改为美国.
我在下面的web.config设置下使用了我的代码
<globalization culture="en-US" />
Run Code Online (Sandbox Code Playgroud)
谢谢
我在MySQL工作台中使用SQL编辑器创建了一个Spatial表.要填写此表,以下是我正在使用的代码.
CREATE PROCEDURE fill_points(
IN size INT(10)
)
BEGIN
DECLARE i DOUBLE(10,1) DEFAULT size;
DECLARE lon FLOAT(7,4);
DECLARE lat FLOAT(6,4);
DECLARE position VARCHAR(100);
-- Deleting all.
DELETE FROM Points;
WHILE i > 0 DO
SET lon = RAND() * 360 - 180;
SET lat = RAND() * 180 - 90;
SET position = CONCAT( 'POINT(', lon, ' ', lat, ')' );
INSERT INTO Points(name, location) VALUES ( CONCAT('name_', i), GeomFromText(position) );
SET i = i - 1;
END WHILE;
END …Run Code Online (Sandbox Code Playgroud) 我得到了这个我想要转换为Linq的SQL查询.这是一个问题:
我正在制作一个需要从3个不同的表中返回值的asp.net api
CREATE TABLE Locatie (
locatieId INT IDENTITY(1,1) not null,
postcode VARCHAR(10) not null,
huisnummer INT not null,
adres VARCHAR(50) not null,
plaats VARCHAR(50) not null,
CREATE TABLE Vereniging (
verenigingId INT IDENTITY(1,1) not null,
locatieId INT not null,
naam VARCHAR(50) not null,
facebookGroupId BIGINT null,
CREATE TABLE Saldo (
saldoId INT IDENTITY(1,1) not null,
lidId INT not null,
verenigingId INT not null,
bedrag SMALLMONEY not null,
Run Code Online (Sandbox Code Playgroud)
我遗漏了所有的外国钥匙和小学生.这只是为了澄清我想要的东西.我的问题是,我有一个需要从几个表返回信息的函数.sql查询看起来像这样=
Select v.verenigingId, l.postcode, l.huisnummer, l.adres,l.plaats,v.naam,v.facebookGroupId
from Vereniging v inner join …Run Code Online (Sandbox Code Playgroud)