0

我有一个包含各种列表项的表

*LIST_ITEMS*
 ID
 LIST_ID_FK
 DESCRIPTION
 VALUE_ID_FK

我需要选择 LIST_ID_FK 等于 1 的所有说明和 LIST_ID_FK = 2 的所有说明和 LIST_ID_FK = 3 的所有说明

 LIST_ID_FK value 1's have no VALUE_ID_FK
 LIST_ID_FK value 2's have the FK of value 1 in the VALUE_ID_FK column
 LIST_ID_FK value 3's have the FK of value 2 in the VALUE_ID_FK column

输出应该是这样的:

List1    List2      List3
England  Liverpool  test3
England  London     test1
England  London     test2
England  London     test3

我遇到的问题是试图将所有内容从同一张表中取出并相互链接以组成行。这可能吗?

4

1 回答 1

0

您可以将 连接list_ID_FK到单词 test

SELECT Description, 'test' || list_ID_FK List3
FROM mytable
WHERE list_ID_FK IN (1,2,3)

或者,您可以使用 UNION。第一个选项几乎肯定更快

SELECT Description, test1 List3
FROM mytable
WHERE list_ID_FK = 1
UNION
SELECT Description, test2 List3
FROM mytable
WHERE list_ID_FK = 2
UNION
SELECT Description, test3 List3
FROM mytable
WHERE list_ID_FK = 3
于 2013-04-16T21:31:29.727 回答