SQLの質問:クロス列「一致」を持つ行全体のSQL合計?
私が持っている3列のテーブル:From_City、To_City、Trip_Count と4行:私は2を持って新しいテーブルに都市間の旅行を合計する
+-----------+---------+------------+
| From_City | To_City | Trip_Count |
+-----------+---------+------------+
| Berlin | London | 2 |
| London | Berlin | 3 |
| Sydney | Tokyo | 4 |
| Tokyo | Sydney | 6 |
+-----------+---------+------------+
行のみ:
+--------+------------+------------+
| City | Other_City | Trip_Count |
+--------+------------+------------+
| Berlin | London | 5 |
| Sydney | Tokyo | 10 |
+--------+------------+------------+
これをSQL(できればSQL Server)でどのように実現するかわかりませんでした。助言がありますか?ありがとう!
注:2都市間の注文は関係ありません。ベルリン - ロンドンまたはロンドン - ベルリンのいずれかが問題ありません。
は、このSQL Serverの構文ですか?私は機能を見つけることができません! – FLICKER
ああ、申し訳ありませんが、あなたは正しいです。 'LEAST'と' GREATEST'はすべてのDBMSで利用できますが、SQL Serverでは利用できません。私はそれを知らなかった。 (奇妙なことに、SQL Serverは20年ほど前からありましたが、これらの機能を追加していないのはなぜですか?2つの値を比較するのは大したことではありませんが、2つ以上の値をCASE WHENと比較しなければならないのは面倒です。) –
これはまだ良い解決策です。 SQL Serverの場合、私はGeorgos Betsosが提案したことを実行します。 –