3

1 回の操作で何百もの SELECT クエリを実行するのではなく、1 つの大きなクエリだけを実行したいと考えています。これにより、サーバーの負荷が軽減されることを期待しています。

SELECT (
(SELECT link_type_id FROM connections WHERE (node_to_id = '0' AND node_from_id = '1') OR (node_from_id = '1' AND node_to_id = '0')),
(SELECT link_type_id FROM connections WHERE (node_to_id = '0' AND node_from_id = '2') OR (node_from_id = '2' AND node_to_id = '0'))
)

このクエリにはさらに多くの SELECT がありますが、2 つでも機能していません。このコードを実行すると、次のエラーが表示されます。

Operand should contain 1 column(s).

助言がありますか?ありがとう!

4

2 に答える 2

7

以下で試すことができますが、必要な場合がありますUNION

SELECT link_type_id FROM connections 
WHERE (node_to_id = '0' AND node_from_id = '1') 
OR (node_from_id = '1' AND node_to_id = '0')
UNION
SELECT link_type_id FROM connections 
WHERE (node_to_id = '0' AND node_from_id = '2') 
OR (node_from_id = '2' AND node_to_id = '0')
于 2013-04-09T04:30:47.127 に答える