作者LaPass (LaPass)
看板Database
標題[SQL ] 以table欄位的資料去決定關聯哪個資料表
時間Tue Dec 24 16:49:49 2013
例如
Table main
id name table_name table_id
1 小華 user 2
2 小美 user 3
3 老王 admin 1
3 老張 admin 2
Table user
id title
1 使用者
2 使用者2
3 勇者01
Table admin
id title
1 管理者
2 GM
請問有沒有辦法輸出像這樣結果
id name table_name table_id title
1 小華 user 2 使用者2
2 小美 user 3 勇者01
3 老王 admin 1 管理者
3 老張 admin 2 GM
PS 1. table_name中可能有其他的table
2. table_name中的table保證有title這個欄位
雖然正規的資料庫設計沒有這種用法
但老實說,我還蠻常見到這樣的用法的。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.36.2
1F:→ moyasi:只有這幾個table的話 union就解決了 12/24 16:56
2F:→ LaPass:重點就是,不確定裡面的TABLE有多少,這樣~ 12/24 17:52
3F:推 rosemary:滿常見這種用法? 12/24 23:35
4F:→ shomingchang:字串值能當表格名寫在SQL中嗎? 12/25 00:43
5F:→ shomingchang:如果可以分段做 而且你還有另一個表記錄所有的資料表 12/25 00:46
6F:推 shomingchang:先select table main 12/25 00:49
7F:→ shomingchang:取出tanle_name 和 table_id 12/25 00:50
8F:→ shomingchang:然後再下一次SQL指令查 table_name 這個表 12/25 00:53
9F:→ shomingchang:where 條件就設成 table_id 12/25 00:54
10F:→ shomingchang:好像不用再用一個表記錄所有資料表XD 12/25 00:55
11F:→ shomingchang:應該只能從程式語言做多次查詢再把結果拼起來吧 12/25 00:56
12F:→ LaPass:果然還是只能分段做呢... 12/25 01:18