c# - 结合2个select语句和join sql
问题描述
我目前在 sql 语句上遇到问题
这是我的代码
SELECT [Cities].ProvinceId,[Cities].Name,[Provinces].Name
FROM [Cities] JOIN Provinces
ON [Cities].ProvinceId = [Provinces].id
UNION
SELECT [Regions].RegionName,[Countries].CountryName
FROM [Regions] JOIN Countries
ON [Regions].RegionId = [Countries].RegionId
所以基本上我想做的是得到城市、省、地区和国家。
顺便说一下,我有 4 个地区,即东盟 = 1,亚洲 = 2,全球 = 3,国内 = 4
所以 DOMESTIC 只需要在城市和省上,因为它们是我国家的本地地方
地区 1,2,3 是针对国家/地区的,但由于这些错误,我可以加入主题
使用 UNION、INTERSECT 或 EXCEPT 运算符组合的所有查询必须在其目标列表中具有相同数量的表达式。
顺便说一句,我在我的 API 上这样应用它
var provinces = await _provinceRepository.GetAll();
var cities = await _cityRepository.GetAllCities();
var result = provinces.Join(cities, p => p.Id, c => c.ProvinceId, (p, c) =>
new DestinationModel
{
Region = null,
City = c.Name,
State = p.Name,
Continent = null,
Country = null
}).ToList();
return Ok(result);
现在您可以看到我的问题是,目前我只能获取地区和国家的省市仍然为空。有人可以帮我查询。
解决方案
所以基本上我想做的是得到城市、省、地区和国家。
这会做你想要的吗?
SELECT c.Name as city, p.Name as province, co.name as country,
r.name as region
FROM Cities c
JOIN Provinces p ON c.ProvinceId = p.id
JOIN Countries co ON p.CountryId = co.id
JOIN Regiones r ON co.RegionId = r.id;
对我来说,这似乎是一个更明智的结果。
推荐阅读
- javascript - 数据库更新后是否有刷新页面内容的解决方案?烧瓶
- arduino - Arduino 中断“CHANGE”不如“RISING”敏感
- matlab - 沿立方体对角线生成曲面
- javascript - 重定向到子/大子页面后如何继续执行父函数 - React Native
- html - 在我的表格中有一个图片上传部分。如果用户没有上传任何文件,那么它会给出 MultiValueDictKeyError。如何摆脱它?
- dataframe - 如何从 Spark 中的列中提取 JSON 字符串
- javascript - 在 html 的另一个页面上显示下拉列表中的选定值以及其他表单值
- java - 如何通过从文件中读取文本来拆分字符串
- reactjs - Recharts 每周每月按钮
- powershell - Powershell:创建一个自动添加键并计算值的哈希表