Php
如何選擇不同的一列並返回已區分的另一列數據?
我是 SQL 和 PHP 程式的新手,所以請耐心等待。:)
例如,我有一個包含三個欄位的表:
ID, ITEMNAME, SIZE
和這樣的數據:+----+--------------+-------+ | ID | ITEMNAME | SIZE1 | +----+--------------+-------+ | 1 | Blue T-shirt | M | +----+--------------+-------+ | 2 | Blue T-shirt | L | +----+--------------+-------+ | 3 | Red T-shirt | M | +----+--------------+-------+
我想使用 SQL 命令將其顯示為:
+--------------+-----------------+ | ITEMNAME | SIZE | +--------------+-----------------+ | Blue T-shirt | select tag(M/L) | +--------------+-----------------+ | Red T-shirt | M | +--------------+-----------------+
具有相同名稱的項目將合併並創建一個帶有大小列數據選項的選擇標籤。我怎樣才能做到這一點?
任何其他方式將不勝感激。
假設您使用的是 MySQL
這是我執行 SQL 的方法:
SELECT ID, ITEMNAME, CONCAT("select tag(",GROUP_CONCAT(DISTINCT size ORDER BY size DESC SEPARATOR "/"), ')') AS SIZE FROM items GROUP BY ITEMNAME
結果:
| ID | ITEMNAME | SIZE | |----|---------------|-----------------| | 1 | Blue T-shirt | select tag(M/L) | | 3 | Red T-shirt | select tag(M) |
一旦你有它,
PHP
你就可以迭代它。