select *,left(shengname,len(shengname)-1) as sname
from (
select distinct t1.*,
(
select shengname+','
from zhms_sheng
where (PATINDEX(CAST(shengid as nvarchar)+',%',t1.adarea)>0 or PATINDEX('%,'+CAST(shengid as nvarchar)+',%',t1.adarea)>0 or PATINDEX('%,'+CAST(shengid as nvarchar),t1.adarea)>0) for xml path('')
) as shengname
from zhms_ad as t1
) as t
Order By id Desc
--sql语句无错,页面条用无错,就是不出来sname的值,其他的都可以。
试过N中办法,仍然无法将sname输出到页面(比如<%=rs("sname")%>),程序和sql都无问题,可能是其中一些不为人知的原因,先暂时保留此问题,待高手解决,每隔一天加10分。
不行,试过了
追答SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
这是左连接的语法。你参考一下。
这样说吧!我这个语句是将表zhms_ad里面的adarea存放的(1,2,3)省ID到zhms_sheng表里面去获取相应的省名称,然后组成新表(安徽省,北京市,山东省)。
追答你说在SQL中能显示,但是在页面上无法输出。这个输出是什么意思。按照你的追问,你的意思是一个表里面的用的是省的ID以及其他信息,另一个表存的是省的ID以及名称,你组成的新表是由这两个表组合而成的。这个思路没有问题,语句我没有发现什么错误。输出显示不出来是不是跟你的页面设置分辨率有关也不一定。如果在SQL中能显示出来,输出的话没道理看不到的。你这里面括号够多的。不过如果你不嫌麻烦的话可以再新增一个——第一个FROM后面增加一个,一直括到倒数第二行t后面。