我正在使用MySQL。我試圖建立一些東西,卻找不到解決問題的辦法。根據多個標準選擇數據(cloest值)
我從lookup
表中選擇一個基於my
表的值,如下例所示。
選擇標準:
my.id<>l.id
和my.route1=l.route1
和my.route2=l.route2
和my.utc=l.utc
其中my.stime is closest or same as l.stime
前)my.id=2
的山坳應該得到因爲my.id<>l.id
的l.id=1, l.etime=7777
,其餘的都是一樣的。
ex)my,id=5
的col有選項l.id=3, l.etime=9999
和l.id=4, l.etime=7979
自my.id<>l.id, my.route=l.route, my.utc=l.utc
。然而,由於my.stime=2220 is closer to l.stime=2222
將比l.stime=3333
,l.id=3, l.etime=9999
將被選中。
ex)my,id=6
的示例是如果「最接近」是相同的,則選擇任一值。
ex)my,id=7
的列示例是在條件未滿足時返回NULL。
Table: lookup (l.)
id route1 route2 utc stime etime
---|--------|--------|-----|-------|------
1 11 22 111 1111 7777
2 11 22 111 1111 8888
3 22 33 222 2222 9999
4 22 33 222 3333 7979
5 22 33 222 3335 8989
Table: my (my.) | result
id route1 route2 utc stime | l.id l.etime
---|--------|--------|-----|------- |-------|----------|
2 11 22 111 1111 | 1 7777
5 22 33 222 2220 | 3 9999
6 22 33 222 3334 | 4or5 7979or8989
7 22 33 999 9999 | null null
一個新的表應該在哪裏,結果被追加到的my
最後一個山坳創建。 任何幫助表示讚賞。提前致謝。
減去這些值 - 然後按這個減法排序,並且限制1 – Randy