我正在使用ASP.Net中的一个项目,我正在使用SQL Server 2005.我的问题是这样的:
我有两张桌子。
表A:哪些字段有ID和类别(ID是主键) 表B:其中包含字段ID,CategoryID,Item
有一种关系A:ID ----> B.CaregoryID
让我们添加一些记录。
表A:
ID类别的
1本书籍
2种水果
3种蔬菜
表B:
ID类别ID档案
1 1 Rytham of Music
2 1我的传记
3 1 Jungal Book
4个2苹果
5 2 Orenge
6 2 Pinnaple
7个3菠菜
就像那样,有两张桌子和他们的记录。
我想查询类似于我的最终输出必须在temparary表中,如下所示
ID MergeItems
1 书籍 - 来自表A
1 Rytham of Music
2我的传记
3 Jungal Book
2 水果 - 来自表A
苹果4
5 Orenge
6 Pinnaple
3 蔬菜 - 来自表A
7个菠菜
我想在ASP.Net
中的下拉控件中显示此输出我想在sql Server 2005中进行查询。如果你知道请为我做好准备
谢谢。
答案 0 :(得分:1)
我认为您正在寻找UNION ALL
DECLARE @TableA TABLE(
ID INT,
Category VARCHAR(50)
)
INSERT INTO @TableA (ID,Category) SELECT 1, 'Books'
INSERT INTO @TableA (ID,Category) SELECT 2, 'Fruits'
INSERT INTO @TableA (ID,Category) SELECT 3, 'Vegetables'
DECLARE @TableB TABLE(
ID INT,
CategoryID INT,
Item VARCHAR(50)
)
INSERT INTO @TableB (ID,CategoryID,Item) SELECT 1,1,'Rytham of Music'
INSERT INTO @TableB (ID,CategoryID,Item) SELECT 2,1,'My Biography'
INSERT INTO @TableB (ID,CategoryID,Item) SELECT 3,1,'Jungal Book'
INSERT INTO @TableB (ID,CategoryID,Item) SELECT 4,2,'Apple'
INSERT INTO @TableB (ID,CategoryID,Item) SELECT 5,2,'Orenge'
INSERT INTO @TableB (ID,CategoryID,Item) SELECT 6,2,'Pinnaple'
INSERT INTO @TableB (ID,CategoryID,Item) SELECT 7,3,'Spinach'
SELECT ID,
MergedCategory
FROM (
SELECT ID,
Category + ' -- From TableA' MergedCategory,
CAST(ID AS VARCHAR(10)) + '\' AS CategoryID
FROM @TableA
UNION ALL
SELECT ID,
Item,
CAST(CategoryID AS VARCHAR(10)) + '\' + CAST(ID AS VARCHAR(10)) + '\'
FROM @TableB
) sub
ORDER BY CategoryID