2013-02-05 25 views
2

我想我在這裏嘗試了不可能的事情,但由於我對SQL的知識有限,我需要一些幫助來查看是否有一些我可以做的事情。T SQL之間的案例陳述與之間顯示全部

我的問題是,我正在處理非常糟糕的數據,我需要能夠鏈接和分割數據,然後加入。

例如,我與

TABLE 1 
--------- 
From To Street Name 
5  10 ADAMS WAY 


TABLE 2 
----------- 
Number 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 

我想輸出工作的2臺是

from To StreetName Number 
5  10 ADAMS WAY 5 
5  10 ADAMS WAY 6 
5  10 ADAMS WAY 7 
5  10 ADAMS WAY 8 
5  10 ADAMS WAY 9 
5  10 ADAMS WAY 10 

到目前爲止,我已經能夠把這個在一起,但

SELECT *, 
CASE 
When T1.From = T2.NO 
    THEN ???? 'What do i do here' 
    END as Table 'What do i do next to get the rows to show' 
From 
T1 
FULL JOIN 
Numbers 
ON 
T1.AFrom = T2.NO 

我知道這可能是一個遠射,但任何幫助將不勝感激。

感謝

+1

爲什麼在結果中排​​除了1到4號? – TechDo

+0

因爲這實際上與地址數據有關。我真正需要的是每個門牌號碼都有一個完整的地址,但我所擁有的僅僅是從4到10個亞當斯的說法。這只是一個樣本,我有174000個地址可以做到這一點。 – user2040295

回答

4

可能:。

SELECT [from], 
     [to], 
     streetname, 
     number 
FROM t1 
     LEFT OUTER JOIN t2 
        ON t2.number >= t1.[from] 
        AND t2.number <= t1.[to] 

SQL-Fiddle

+0

嗨我已經嘗試過,但現在拉起更多的記錄比以前沒有 – user2040295

+0

@ user2040295:對不起,現在應該工作。請參閱sql-fiddle。反過來也是一樣。 –

+0

感謝它完美工作的所有答案。我只是無法解決之前的邏輯。作爲這個網站的新用戶,我會嘗試並傳授所獲得的這些知識。乾杯 – user2040295

1

SELECT * FROM表1 T1,T2表2,其中 T1 t2.Number之間[從]和T1 [轉]

請注意,列FROM必須像[From]一樣書寫,因爲其保留關鍵字

1

試試這個,

SELECT * 
FROM table1, table2 
WHERE num >= table1.[from] 
AND num <= table1.[to];