我有一对多的表,如果有行具有相同的引用ID(段落ID),我想连接,所以LoginName值在同一行中有很多。
此查询执行我想要它做的但是有一个问题,它替换了第一个char。 STUFF函数需要替换值。
我的问题: 如何在不更换第一个字符的情况下执行此操作?
SELECT DISTINCT
ParagraphID
, STUFF((
SELECT N'|' + CAST([LoginName] AS VARCHAR(255))
FROM [dbo].[CM_Signature] f2
WHERE f1.ParagraphID = f2.ParagraphID
FOR XML PATH ('')), 1, 2, '') AS FileNameString
FROM [dbo].[CM_Signature] f1
预期价值:
Daniel | Emma
答案 0 :(得分:3)
你是在第2位而不是第一位
开始你的路径SELECT DISTINCT
ParagraphID
, STUFF((
SELECT N'|' + CAST([LoginName] AS VARCHAR(255))
FROM [dbo].[CM_Signature] f2
WHERE f1.ParagraphID = f2.ParagraphID
FOR XML PATH ('')), 1, 1, '') AS FileNameString
FROM [dbo].[CM_Signature] f1 SELECT DISTINCT
ParagraphID
, STUFF((
SELECT N'|' + CAST([name] AS VARCHAR(255))
FROM mytable f2
WHERE f1.paragraphid = f2.paragraphid
FOR XML PATH ('')), 1, 1, '') AS FileNameString
FROM mytable f1
答案 1 :(得分:3)
使用此代码:
create table #test (paragraghid int,name VARCHAR(10))
insert into #test values(1929,'Daniel')
insert into #test values(1929,'Emma')
insert into #test values(1935,'Daniel')
select distinct paragraghid,STUFF((select ' | ' + name from #test a
Where a.paragraghid=b.paragraghid for XML PATH('') ),1,2,'') as FilenameString
from #test b
答案 2 :(得分:3)
以下是您可以使用的内容:
STUFF("...", 1, 1, '')
请注意STUFF("...", 1, 2, '')
而不是|
。
因为您需要替换1个char而不是2个(要删除第一个Daniel|Emma
)。
输出:
|
此外,如果您想在SELECT DISTINCT
ParagraphID
, STUFF((
SELECT N' | ' + CAST([LoginName] AS VARCHAR(255))
FROM [dbo].[CM_Signature] f2
WHERE f1.ParagraphID = f2.ParagraphID
FOR XML PATH ('')), 1, 3, '') AS FileNameString
FROM [dbo].[CM_Signature] f1
之前和之后有空格,请使用此查询:
STUFF("...", 1, 3, '')
请注意,这次我们删除了3个字符(Daniel | Emma
)。
输出:
tail -F abclog.txt | grep --line-buffered -i ERROR > outputfile.txt
答案 3 :(得分:2)
您可以将查询编写为:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ViewPager
.... />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
**android:paddingTop="150dp"** > <!-- padding to take some space on top>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rounder_shape"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
... More text views
</LinearLayout>
</LinearLayout>
</ScrollView>
</FrameLayout>
</LinearLayout>