1

table1とtable2の2つのテーブルがあります。

  • table1にはid、値1212(例)が含まれる名前付きフィールドが含まれています。
  • table2には、またはactionのようなデータで名前が付けられたフィールドがあります。added 1212updated 1212

次に、このクエリを確認します。

SELECT t1.*, t2.name
FROM table1 t1, table2 t2
WHERE t2.action LIKE 'added t1.id'

name2番目のテーブルのフィールドを、addedupdated不要な)データのみを含む最初のテーブルに追加したいと思います。この条件のwhere句は何ですか?どうすればこれを照会できますか?

4

2 に答える 2

2

私はこのようにしました。

SELECT t1.*, t2.name
FROM table1 t1, table2 t2
WHERE t1.id = (RIGHT(t2.action, 4)) AND t2.action LIKE 'added %'

私を助けようとしたすべての人に感謝します。

于 2012-07-07T08:32:42.567 に答える
1

action列を2つの列に分割することをお勧めします。1つはアクションタイプ用、もう1つはアクションターゲット用です。次に、2つのテーブルを結合できます。

SELECT t1.*, t2.name
FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.action_target
WHERE t2.action_type = 'added'
于 2012-07-07T07:55:25.227 に答える