亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從每行不同列中的行中檢索多個數據

如何從每行不同列中的行中檢索多個數據

PHP
慕容708150 2022-01-08 20:43:07
我想從特定行中檢索一些數據,但我不知道數據在哪一列。例如。       col1 col2 col3 col4 col5 col6row1   A      B    C     D    E    Frow2   H      B    G     E    I    J現在我需要數據 B 和 G,它在 row1 和 row2 中,我需要在運行命令時像這個 BCDE 一樣獲取值。很可能我能夠思考我應該為它寫什么好的代碼。預期產出B C D E    from row1B G E      from row2這是實際數據我需要在 GTB 和 Sion 之間調用數據的地方有兩行提供 GTB 和 SION 但它們都在不同的列中SELECT __________  FROM `busroute` WHERE 'GTB' IN (Source,Stop2,Stop3,Stop4,Stop5,Stop6,Stop7,Stop8,Stop9,Destination)AND 'Wadala' IN  (Source,Stop2,Stop3,Stop4,Stop5,Stop6,Stop7,Stop8,Stop9,Destination);輸出應該是:ROW1   -   Sion Koliwada GTBROW2   -    Sion SionCircle Koliwada GTB
查看完整描述

1 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

這可能不是優化的方式,但您可以得到如下答案:

  • 這里順序很重要,您必須將這兩個變量視為源和目標。

  • 這里Sion是源頭,GTB也是目的地。如果您有不同,則將源值替換為 的所有值,將Sion目標值替換為 的所有值GTB。

  • --符號用于區分兩個站,如果一個站有代表另一個站的子字符串。Like Sion Circlehas Sionas 子串,代表另一個站。

邏輯

  • 對于任何目的地的任何路線,這兩個站點都應該存在。因此,我們WHERE對兩個輸入都使用了子句,并IN為 all使用了運算符stops。

  • CONCAT_WS('--', '--', Source,Stop2,Stop3,Stop4,...,Destination, '--')它創建一個由分隔的所有站的列表,----在兩端添加。例如--A--B--C--D--。

  • 為什么--要添加,這樣我們就可以對一個電臺進行完全精確的搜索,這樣它就不會與其他電臺重疊。

Example: if I have to search 'Sion' then search will be `--Sion--`


 --Sion--Sion Circle--BC   : Return true

 --Sion Circle--BC--AKDKJ--: return false, simple search would have return true.

SUBSTRING_INDEX 用于根據源或目的地去除不必要的左右部分路由

再次向新生成的路由添加源和目的地以顯示完整的路由。

最后刪除所有--為計算目的而添加的。

查詢:


SELECT

    b.RouteID,

    b.BusNo,

    REPLACE(CONCAT_WS(' ', 'Sion', SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT_WS('--', '--', Source,Stop2,Stop3,Stop4,Stop5,Stop6,Stop7,Stop8,Stop9,Destination, '--'), '--Sion--', -1), '--GTB--', 1),'GTB'),'--', ' ') as route

FROM busroute b

WHERE 'GTB' IN (Source,Stop2,Stop3,Stop4,Stop5,Stop6,Stop7,Stop8,Stop9,Destination)

AND 'Sion' IN  (Source,Stop2,Stop3,Stop4,Stop5,Stop6,Stop7,Stop8,Stop9,Destination);


查看完整回答
反對 回復 2022-01-08
  • 1 回答
  • 0 關注
  • 164 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號