Sql 子查询中的子查询

Sql 子查询中的子查询,sql,subquery,Sql,Subquery,如何在另一个子查询中创建子查询 这就是我得到的,显然它不起作用: "Select `region` from `region` where `regioncode` IN (Select `city` from `city` where `citycode` IN (Select `citycode` from `postcode` where `postcode` LIKE '%" + txtPostcode.Text + "%'))" 顺

如何在另一个子查询中创建子查询

这就是我得到的,显然它不起作用:

"Select `region` from `region` where `regioncode` IN 
        (Select `city` from `city` where `citycode` IN 
                (Select `citycode` from `postcode` where `postcode` LIKE '%" + txtPostcode.Text + "%'))"
顺便提一下,很抱歉我的业余问题

Tabel结构:

塔贝尔地区:

regioncode  region      provincecode    netnumber
塔贝尔市:

citycode    city    from    to  regioncode
“from”和“to”表示该城市的邮政编码范围

标签邮政编码:

postcode    street  from    to  citycode
这里的“from”和“to”表示地址数的范围

塔贝尔省:

provincecode    province
所以,我应该能够得到邮政编码来自的地区。邮政编码将从文本框中输入

我得到了街道、城市和地址的号码范围。但这个地区对我不起作用

对不起,我的蹩脚英语和我的业余问题是:

你可以考虑使用代替多个子查询。

SELECT region from region r
JOIN city c ON c.regioncode = r.regioncode
JOIN postcode pc ON pc.citycode = c.citycode
WHERE pc.postcode LIKE '%test%'
这将相当于您当前尝试对子查询所做的操作

SELECT region from region r
JOIN city c ON c.regioncode = r.regioncode
JOIN postcode pc ON pc.citycode = c.citycode
WHERE pc.postcode LIKE '%test%'
编辑:我已经更新了上面的查询,使其不通过省,因为如果城市有regioncode,而您只是试图获取该地区,则不需要该查询。您仍然可以使用子查询。您应该从
city
表中获取
regioncode
,而不是
city

SELECT region FROM region WHERE regioncode IN 
    (SELECT regioncode FROM city WHERE citycode IN 
        (SELECT citycode FROM postcode WHERE postcode LIKE '%test%')
    )

我只是使用
test
作为txtPostcode中任何内容的临时值。Text

更多信息会有所帮助,您所说的“不起作用”以及表结构的描述。您的子查询语法本身非常正确,但查询的其余部分没有意义从“省”中选择“省”??你在查询什么数据库?在city子查询中,不应该是
从city选择provincecode…
@OTTA我将在1秒后在OP中设置表结构。我将表和列名添加到了我的原始帖子中,我也表示歉意。我搞砸了,应该是地区和地区代码,而不是省。