这里的新手到SQL。所以我有两张桌子,比如下面的两张桌子。如何根据几个条件查询SELECT和Concat()列值?
表A
set_num s_id s_val
100 3 AA
100 5 BB
200 3 AA
200 9 CC
表B
s_id s_val phrase seq
1 DD 'hi' 'first'
3 AA 'hello' 'first'
6 EE 'goodnight' 'first'
5 BB 'world' 'second'
9 CC 'there' 'second'
4 FF 'bye' 'first'
我想在两列连接表A和表B,就像一个复合键(S_ID,S_VAL),我想返回 set_num来自表A以及表B中的短语的连接(我们将称其为entire_phrase,concat(...)AS entire_phrase)。 串联还应遵循短语串联的顺序。这将由表B中的seq列确定每个短语。 “第一”将表明这个短语需要先来和“第二”,接下来会好。我想用SELECT查询来做到这一点,但不确定这是否可能,而不会变得复杂。我可以在SELECT中执行此操作还是需要另一种方法?
预期输出:
set_num entire_phrase
100 'hello world'
200 'hello there'
而且不
set_num entire_phrase
100 'world hello'
200 'there hello'
任何帮助/办法将不胜感激!
你保证有整整两个记录每'set_num'一个标记为“第一”,另一个为“第二“在表A中? –
你真的需要它3种不同的RDBMS吗? –
在mysql中,使用group_concat()很容易。 – Shadow