我有多個產品表(彼此不相關)。所有產品表有一些像前綴用於從多個產品表獲取產品的mysql存儲過程
computer_products
kitchen_products
..... so on
我有所有的前綴都在一個單獨的表。我必須從所有表格中獲取產品。
我知道我可以使用存儲過程,但我是mysql查詢和存儲過程的新手。我正在努力學習,但這是緊急的。
爲存儲過程的任何幫助嗎?
在此先感謝
我有多個產品表(彼此不相關)。所有產品表有一些像前綴用於從多個產品表獲取產品的mysql存儲過程
computer_products
kitchen_products
..... so on
我有所有的前綴都在一個單獨的表。我必須從所有表格中獲取產品。
我知道我可以使用存儲過程,但我是mysql查詢和存儲過程的新手。我正在努力學習,但這是緊急的。
爲存儲過程的任何幫助嗎?
在此先感謝
你需要這樣的查詢 -
SELECT
GROUP_CONCAT(CONCAT('SELECT col1, col2 FROM ', table_name) SEPARATOR ' UNION ')
INTO @sql
FROM
information_schema.tables
WHERE
table_schema = '<database name>' -- spcecify <database name>
AND table_name LIKE '%_products';
這個查詢將建立SELECT查詢,並把它傳遞給 -
SELECT col1, col2 FROM computer_products
UNION
SELECT col1, col2 FROM kitchen_products
您可以使用此查詢產生的呢@sql
變量。
然後使用prepared statement執行它。
這些表格可以有不同的結構。你想如何輸出它們?描述你的表格,顯示所需的結果。 – Devart
結構相同。而且我必須從這些表中的某些修復列中獲取相同名稱的值。 – Lucifer
...來自所有具有指定前綴的表格? – Devart