1

一意でない識別子を持つテーブルが 1 つあり、対応する列を一意の識別子を持つ別のテーブルの値で更新する必要があります。

基本的に私は2つのテーブルを持っています

表1

| Col1 | Col2 |
---------------
|  A   |  1   |
---------------
|  A   |  2   |
---------------
|  B   |  4   |
---------------
|  C   |  6   |
---------------
|  C   |  9   |
---------------

表2

| Col1 | Col2 |
---------------
|  A   |  1   |
---------------
|  B   |  2   |
---------------
|  C   |  3   |
---------------

MySQL を使用して、Table1.Col1 = Table2.Col1 である Table2.Col2 の対応する値を使用して、Table1.Col2 で計算を実行したいと考えています。

例えば:

| Col1 | Col2 |
---------------
|  A   |  1   | // (1/1)
---------------
|  A   |  2   | // (2/1)
---------------
|  B   |  2   | // (4/2)
---------------
|  C   |  2   | // (6/3)
---------------
|  C   |  3   | // (9/3)
---------------

どんな助けでも大歓迎です。

4

3 に答える 3

3

次のようなものが必要なようです。

UPDATE Table1
    JOIN Table2
        ON Table1.Col1 = Table2.Col2
SET Table1.Col2 = Table1.Col2/Table2.Col2
于 2012-04-16T15:30:18.857 に答える
3

テーブルを結合し、算術演算子/を使用します

select Table1.Col2 / Table2.Col2 as result
from Table1 
inner join Table2 on Table1.Col1=Table2.Col2;
于 2012-04-16T15:30:51.203 に答える
1

次のことができます。

// for an update
update table1 
join table2 
    on table1.col1 = table2.col1
set table1.col2 = (table1.col2 /table2.col2)

// for a select 
SELECT (t1.col2 /t2.col2) as results
from table1  t1
join table2 t2
    on t1.col1 = t2.col1
于 2012-04-16T15:31:35.210 に答える