我有兩個表,項目和itemmeta。 item具有item_id,它將其鏈接到itemmeta,它具有itemmeta_id,item_id,meta_key和meta_value。我這樣做,所以如果我需要添加一個特殊的標誌或值的項目,我不必不斷改變項目表。如何從一個查詢中的另一個表中檢索一個表中的記錄和相關記錄?
現在我付出了靈活性的代價。我想知道如果我可以將查詢和一些PHP組合成一個更好設計的查詢。
首先我做這樣的事情:
SELECT * FROM items;
然後一邊通過這些循環我在PHP這樣做對每個:
$sql = "SELECT * FROM itemmeta WHERE item_id='".$item['item_id']."' ";
$meta_result = mysql_query($sql, $conn) or die(mysql_error());
$item['meta'] = array();
while($meta=mysql_fetch_assoc($meta_result)) {
$item['meta'][$meta['meta_key']] = $meta['meta_value'];
}
是否可以使用子查詢做第二部分或類似的東西?我認爲困難的部分會保持相同的產出。例如:$ item ['meta'] ['my_key'] ='value'。我認爲它會更多$ item ['meta'] [0] [0] ='my_key'和$ item ['meta'] [0] [1] ='value'。