我正在尝试获取一个国家的所有公民的列表,并将它们列在一个包含3行的表中.最后一行显示"是"或"否",具体取决于该人是否出生在某个城市.
我所做的是创建两个查询:第一个查询获得在城市出生的所有公民,第二个查询获得所有未在城市出生的公民.
然后我就做了一个UNION.
查询运行,我认为结果看起来不错.
但我想知道,这是形成这样的查询的最佳方式吗?
谢谢
--all citizens who were born in CityID = 5 who is in the USA
SELECT DISTINCT(CountryCitizenID), Country, 'YES' As Resident
FROM DT_Country_CitizenS dtu
INNER JOIN FT_City fte ON dtu.CountryCitizenID = fte.CitizenID
WHERE cityID = 5
AND Country = 'USA'
UNION
--all Citizens who were not born in CityID = 5 who is in the USA
SELECT DISTINCT(CountryCitizenID), Country, 'NO' As Resident
FROM DT_Country_CitizenS dtu
WHERE NOT EXISTS (
SELECT CitizenID
FROM FT_City fte
WHERE …Run Code Online (Sandbox Code Playgroud) 我正在尝试将数组转换为类.所以我得到了数组,然后使用JsonConvert对其进行序列化,如下所示:
var gameResponse = GetGame(Id);
var returnedArray = gameResponse.Result.Results;
var json = JsonConvert.SerializeObject(returnedArray);
var result = JsonConvert.DeserializeObject<T>(json);
Run Code Online (Sandbox Code Playgroud)
我可以在Visual Studio调试模式下看到这个结果,"json"看起来像这样:
[
{
\"CreatorId\":\"41c5321e-6f37-4d4f-92f7-fc381be0fc62\",
\"GameId\": \"3938\",
\"Type\": \"2\",
\"CreateDate\": \"1/2/2017\",
\"TeamId\": \"2394\",
\"LeaderId\": \"34922\",
\"CountryCode\": \"23\",
\"SalesRank\": \"4\",
\"Title\": \"Space Shooter Max\",
\"TeamName\": \"The One\",
\"TeamMembers\" : \"4\"
}
]
Run Code Online (Sandbox Code Playgroud)
但是,当代码命中下一行时:
var result = JsonConvert.DeserializeObject<T>(json); // In this case, <T> is <Game>
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
JsonSerializationException:无法将当前JSON数组(例如[1,2,3])反序列化为类型'GameLabs.Game',因为该类型需要JSON对象(例如{"name":"value"})才能正确反序列化.
GameLabs.Game是一个看起来像这样的类:
public sealed class Game
{
public string CreatorId { get; set; }
public string GameId { get; …Run Code Online (Sandbox Code Playgroud) 我有一个表,hs_book其中有一列名为GENRE_ID
我从一个名为的表中获取该类型的描述GENRE
我的列子查询Genre:
SELECT *,
Genre = (
SELECT DESCRIPTION
FROM GENRE
WHERE GENRE_ID = (
SELECT TOP 1 GENRE_ID
FROM BOOK_GENRES
WHERE BOOK_ID = hs_book.BOOK_ID
)
)
FROM hs_book
Run Code Online (Sandbox Code Playgroud)
当我执行此查询时,我得到 525 本书(这是正确的)。
应高级 DBA 的要求,我尝试将其转换为 JOIN,这样我就不需要子查询,所以我这样做了:
SELECT * FROM hs_book hsb
INNER JOIN BOOK_GENRES bg ON hsb.BOOK_ID = bg.BOOK_ID
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到了 541 个结果,比子查询多了 16 个结果。
经过查资料,我发现有些书有多个GENRE_IDs.
有没有办法修改我的加入,以便我只为每本书返回一种类型?
我正在尝试实现我在教程中找到的电子邮件系统。
我的EmailMessage课是这样的:
public class EmailMessage
{
public EmailMessage()
{
ToAddresses = new List<EmailAddress>();
}
public List<EmailAddress> ToAddresses { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这个EmailAddress类看起来像这样:
public class EmailAddress
{
public string Name { get; set; }
public string Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
所以现在我正在尝试构建一个测试电子邮件。
我创建了一个测试“toAddress”:
EmailAddress toAddress = new EmailAddress()
{
Name = "Fred Flintsone",
Address = "cmt34@pitt.edu"
};
Run Code Online (Sandbox Code Playgroud)
但是当尝试像这样构建测试 EmailMessage 时:
var message = new EmailMessage()
{
ToAddresses = toAddress,
Content = "Hey this is a …Run Code Online (Sandbox Code Playgroud) 所以我有这个布尔方法,它根据两个对象的布尔属性返回它的结果.
我传入两个代表业务分支状态的对象.一个州是暴风雨前的分支状态,另一个州是暴风雨后的状态.
一些分支机构可能在暴风雨之前有一个重建基金,有些则没有.所以这会检查.
这是它的样子:
public override bool SendUpdateNotifcation(AsianBranch beforeStorm, AsianBranch afterStorm)
{
return beforeStorm.HasRebuildingFund && afterStorm.HasRebuildingFund;
}
Run Code Online (Sandbox Code Playgroud)
HasRebuildindFund属性是一个布尔值.
问题是,这个方法总是返回true,如果两个状态都为true,false或者一个是真,另一个是假则无关紧要.
我的逻辑完全错了吗?
谢谢
我有一个Python程序,它使用键盘输入来运行某些命令.
我在一个主程序循环中设置了所有内容,但现在我想知道,我甚至需要一个主循环吗?
这就是我的意思:
mainProgramLoop = 1
while mainProgramLoop == 1:
print ("\nType in the command. ")
keyBoardInput= input("command:")
if keyBoardInput == "a":
#do this
elif keyBoardInput == "b":
#do this
Run Code Online (Sandbox Code Playgroud)
我是否真的需要循环?
谢谢!
c# ×3
sql-server ×2
t-sql ×2
.net-4.5 ×1
.net-core ×1
asp.net-core ×1
c#-4.0 ×1
join ×1
json ×1
json.net ×1
list ×1
python ×1
python-3.x ×1
sql ×1