2014-12-02 78 views
0

這是交給我的數據庫表的結構。 沒有ID,只是名稱和價值。MySQL在單個表中獲取多行

|option_name | option_value| 
| Item1  | Value | 
| Item2  | Value | 
| Item3  | Value | 
| 2ndItem1 | Value | 
| 2ndItem2 | Value | 
| 2ndItem3 | Value | 
| ThirdItem1 | Value | 
| ThirdItem1 | Value | 
| ThirdItem1 | Value | 

我想有就會把數據像其中的一個聲明:

| item1.value | 2ndItem1.value | ThirdItem1.value| 
| item2.value, 2ndItem2, ThirdItem2| 

只有名字了一把,我需要搭配在一起(約7-8 )所以它是沒有什麼大不了的,如果這是它所需要的

不知道如果一個JOIN是工作的正確工具,或一個循環或..好吧,我會讓你給我諮詢。

我將在Drupal Migration中使用它,這就是爲什麼我想將它創建爲MYSQL查詢的原因。

+0

你能分享一下你試過的嗎? – 2014-12-02 19:01:54

+0

@JayBlanchard我不知道從哪裏開始。我做了大量的谷歌搜索。 – Luke3butler 2014-12-02 19:03:01

+0

什麼是列名? – kkirsche 2014-12-02 19:04:27

回答

0

在事物的SQL方面,它聽起來像你應該能夠做類似的條款:

SELECT `option_value` FROM table_name WHERE `option_name` in ('item1', 'item2', 'item3', 'item4'); 

在PHP中,應該制定出主要是:

<?php 
$items = array('item1', 'item2', 'item3', 'item4'); 
$itemsStr = implode(',', $users); // returns 'item1','item2','item3','item4' 
$sql = "SELECT `option_value` FROM table_name where `option_name` in ({$itemsStr})"; 

這是非常粗糙,但希望能讓你朝着正確的方向前進。我確定我使用的反引號出現在錯誤的地方

+0

是的,這是一行,但它幾乎沒用,除非我可以做同樣的第二項,然後加入兩個。 – Luke3butler 2014-12-02 19:18:10

+0

嘗試添加項目列的GROUP BY子句 – 2014-12-03 04:55:11

+0

@JoshiConsultancy名稱從字面上看在末尾有數字1 - 6,因此它們不能分組,因爲它們都不相同 – Luke3butler 2014-12-03 19:29:13

相關問題