可以通過編號找到表名嗎? 我有多個表擴展另一個表,當我在「超級」表中找到id時,我想知道哪個子表是該id。 有索引的方法來做到這一點或另一種方式? 謝謝db:通過編號查找表名
0
A
回答
0
你舉的例子是真的不清楚,但......
文章(的東西,ID) 消息(ID引用的文章(ID),morestuff) 課程(ID引用的文章(ID),evenmorestuff)
因此,您使用文章中的id鏈接到新聞或課程,並希望避免從新聞和課程中選擇聯合?
1)當前的查詢不包含此信息
2)有幾個方法可以做到這一點:
一)你改變你的數據模型的東西更通用的(文章,r_article_news,新聞,r_article_courses,課程),並確定在此基礎上
b)您添加的物品表)您第一次查詢略有信息(添加一個名爲列類型,在這裏您將進入任何新聞或課程)
ç較重確定自動
SELECT a.*,b.type
FROM article a
INNER JOIN
(SELECT id,'news' AS type
FROM news
UNION
SELECT id,'courses' AS type
FROM courses) b
ON a.id=b.id;
0
標籤說mysql
和postgresql
。由於不清楚你想要哪一個,下面是mysql
的解決方案。
顯而易見,只有當您的表具有FOREIGN KEYS集時,纔可以執行此操作。舉例來說,如果你有一個數據庫dogs_and_peaople
兩個表:
dogs
------
id
owner_id -- foreign key on people.id
name
people
------
id
name
surname
如果你想了解,這表和字段被dogs.owner_id
reperenced,你可以看看在information_schema
數據庫,就像這樣:
SELECT
REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM
information_schema.KEY_COLUMN_USAGE
WHERE
CONSTRAINT_SCHEMA = 'dogs_and_peaople' -- database name
AND TABLE_NAME = 'dogs'
AND COLUMN_NAME = 'owner_id'
相關問題
- 1. SmartGWT通過編號查找元素
- 2. 通過編號查找父視圖
- 3. Android - 通過編號查找項目
- 4. 通過編號查找骨幹集合
- 5. 通過編號查找列表項根視圖
- 6. 查找通過JNDI名稱
- 7. 使用SOQL查詢通過編號查找項目
- 8. 查找對象的名稱與編號
- 9. 查找類名,然後刪除編號
- 10. 通過這裏找到地方編號
- 11. 通過編號找到關係
- 12. C通過%x編程編號表示
- 13. YUI通過編號獲取類名
- 14. 通過名稱/編號獲取元素
- 15. 通過HtmlProvider查找表
- 16. 通過連接表查找
- 17. 通過與查找表
- 18. mysql的:通過查找表
- 19. angularjs - 通過編號查找元素內的元素
- 20. 通過查找行號獲取元素
- 21. VBA Selenium通過文本查找行號
- 22. 通過編號爲
- 23. 通過名稱查找表中的Un/Check複選框(表值)
- 24. 從列表中查找編號
- 25. 通過郵編和對象名稱查找位置
- 26. 通過查找
- 27. Firebase通過其名稱查找用戶
- 28. Facebook - 通過名稱查找用戶
- 29. 通過PID查找進程名稱
- 30. 如何通過LIKE表達式在SQL中查找方括號?
除非你是動態創建的表,我沒有看到在選擇任何一種指數,只是爲了確定一個表的時候,你可以很容易地通過它的名稱來識別表。 否則,如果我沒有正確理解你的問題,你可能看起來像這樣: SELECT relid,relname FROM pg_stat_all_tables where schemaname ='YourSchema'; – ertx
來解釋我可以寫一個例子:我有一個叫做文章的表格和兩個叫做新聞和課程的表格。文章包含新聞和課程的常見信息和id。文章ID 1引用新聞或課程與ID 1.避免做一個選擇在兩個表上找到ID 1,我想知道表名直接在該表上查詢。 – Pietro