2017-01-18 9 views
0

私は2つのテーブルを持っています。 1つは参照テーブルall_gridであり、もう1つは参照番号t_customerです。SQLite3テーブル減算

参照表にあるが、顧客表にはない行を表示する必要があります(つまり、ではcustomer_x列とcustomer_y列が存在し、t_customerでは存在しない行を表示する必要があります)。列の名前は両方の表で同じですが、t_customerにもid列があります。

は現在、私は

SELECT customer_x, customer_y FROM all_grid 
EXCEPT 
SELECT customer_x, customer_y FROM t_customer; 

を試してみたが、これは単にall_grid内のすべての行を表示し、私はSQLiteのに使用する用語はわからないようです。次のように

t_customer表である:

1|35|24 
2|-20|30 
3|-10|-20 
4|35|-46 
5|4|-19 
6|30|36 
7|-12|-24 
8|-12|-16 
9|-17|-10 
10|99|99 
11|-4|-29 
12|35|24 
13|13|28 
14|99|99 
15|-24|-3 
16|-49|-39 
17|99|99 
18|-48|-44 
19|-46|35 
20|-28|-47 
21|99|99 
22|99|99 
23|31|22 
24|4|14 
25|5|6 
26|32|24 
27|-34|-4 
28|29|25 
29|-12|-31 
30|99|99 
31|-17|41 
32|-20|-42 
33|99|99 
34|-4|40 

とall_grid customer_xとcustomer_yの全100体の可能な混合物は、最も近い10に切り捨て、及び(90、90)も含まれます。

+1

どこかに違いがあるはずです。いくつかのサンプルデータを表示する。 –

+0

ご協力ありがとうございます。私は自分の無知を実感し、私の答えに記されているようにしました。 –

答えて

0

謝罪、私は何かばかげたことを実感しましたが、t_customerのデータが前回の計算で10に切り上げられたという事実を考慮しませんでした。

私の最後のクエリがあった。

SELECT (customer_x * 10), (customer_y * 10) FROM all_grid 
EXCEPT 
SELECT 10 * (t.customer_x/10), 10 * (t.customer_y/10) FROM 
(SELECT CASE WHEN customer_x < 0 THEN customer_x - 10 ELSE customer_x END AS customer_x, 
CASE WHEN customer_y < 0 THEN customer_y - 10 ELSE customer_y END AS customer_y 
FROM t_customer) t 

とトリックを行うようです。