我有一个表'mat'列x,y,数据,其中(x,y)是多列主键,所以表格包含矩阵形式的数据。问题是如何选择多行的时候我有一个密钥对“向量”,并有可能重复对:如何通过在SQL中重复非唯一查询值来返回多行?
SELECT x,y,data FROM mat WHERE (x,y) IN ((0,0),(0,0),(1,1));
颇显返回
x | y | data
--+---+-----
0 | 0 | 5
1 | 1 | 7
,而我需要:
x | y | data
--+---+-----
0 | 0 | 5
0 | 0 | 5
1 | 1 | 7
我可以从外部(在C++ /任何代码中)循环密钥对以获取正确的数据,但是存在主要的性能下降,这非常关键。有什么建议么?可能吗?帮助赞赏!
主键是唯一的,不能包含重复项。您的{x,y}对包含重复项,并且不能是PK。 – joop
请将主键改为主题中的其他内容(例如改为“值”)或从中删除“非唯一” - 否则听起来有缺陷 –
主键本身在表中是唯一的,但我有一个数据向量值(x0,y0)...(xn,yn)其中可以有重复值 – Streamsoup