我有两张桌子:
表一
ida valuea
1 a
2 b
3 c
1 d
1 e
2 f
表b
idb valueb
1
2
我将 valueb 作为组合框,如果只有 ida = current idb.and table b 变为,则需要从选择 valuea 的查询中获取它:
表b
idb valueb
1 (a,d,e)
2 (b,f)
我有两张桌子:
ida valuea
1 a
2 b
3 c
1 d
1 e
2 f
idb valueb
1
2
我将 valueb 作为组合框,如果只有 ida = current idb.and table b 变为,则需要从选择 valuea 的查询中获取它:
idb valueb
1 (a,d,e)
2 (b,f)
很难确切地说出你在问什么,但我认为你要么只是在寻找一个简单的 INNER JOIN:
SELECT TableB.IDB, TableA.ValueA
FROM TableB
INNER JOIN TableA
ON TableA.IDA = TableB.IDB
或者您需要使用 IDB 将 tableA 中的行连接成一行。这样做的方法取决于 DBMS,因为您没有指定一个 DMBS,我已经回答了我所知道的许多问题。每个都有一个关于 SQL Fiddle 的示例。
SELECT TableB.IDB,
STUFF(( SELECT ', ' + ValueA
FROM TableA
WHERE TableA.IDA = TableB.IDB
FOR XML PATH(''), TYPE
).value('.', 'VARCHAR(MAX)'), 1, 2, '') AS ValueB
FROM TableB
SELECT IDB,
GROUP_CONCAT(ValueA) AS ValueB
FROM TableB
INNER JOIN TableA
ON TableA.IDA = TableB.IDB
GROUP BY IDB
SELECT IDB,
ARRAY_AGG(ValueA) AS ValueB
FROM TableB
INNER JOIN TableA
ON TableA.IDA = TableB.IDB
GROUP BY IDB
SELECT IDB,
LISTAGG(ValueA, ', ') WITHIN GROUP (ORDER BY IDB) AS ValueB
FROM TableB
INNER JOIN TableA
ON TableA.IDA = TableB.IDB
GROUP BY IDB
SELECT distinct valuea
FROM tablea
WHERE ida = @idb
@idb是一个包含您选择的值的参数