首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结合2 select语句和join sql

结合2 select语句和join sql
EN

Stack Overflow用户
提问于 2019-09-30 10:52:22
回答 1查看 110关注 0票数 0

我目前在sql语句上遇到了问题

这是我的密码

代码语言:javascript
复制
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。

因此,国内只需要在城市和省,因为它们是地方,在我们的国家。

和区域1,2,3是为国家,但我可以加入主题,因为这些错误

使用UNION、INTERSECT或operator运算符组合的所有查询必须在其目标列表中具有相同数量的表达式。

顺便说一句,我把它像这样应用在我的API上

代码语言:javascript
复制
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);

现在你可以看到我的问题是,现在我只能得到省、市、地区和国家都是零。有人能帮我解决我的问题吗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-30 11:00:04

,所以基本上我要做的是让城市,省,地区和国家。

这能做你想做的事吗?

代码语言:javascript
复制
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;

对我来说,这似乎是一个更明智的结果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58166406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档