2016-08-02 2 views
-2

У меня есть 2 таблицы DBКак создать мой конкретный выбор MySQL?

TABLE1

[US_name1 : US] 
[US_name2 : US] 
[US_name3 : US] 
[UK_name1 : UK] 
[UK_name2 : UK] 
[DE_name1 : DE] 
[DE_name2 : DE] 

...

и TABLE2

...

[2014-05-01 : US_name1 : 150] 
[2014-05-01 : US_name2 : 300] 
[2014-05-01 : US_name3 : 12.2] 
[2014-05-01 : UK_name1 : 18] 
[2014-05-01 : UK_name2 : 24] 

...

как я могу получить результат от конкретной даты (например: все от 2014-04-30) в следующем данных формата:

{[US] -> [name]=US_name1, [last]=150, [2014-05-01]=150, [2014-04-30]=103} 
{[US] -> [name]=US_name2, [last]=300, [2014-05-01]=300, [2014-04-30]=786} 
{[UK] -> [name]=UK_name1, [last]=18, [2014-05-01]=18, [2014-04-30]=362} 

мой запрос неверен:

SELECT t1.Country, t1.Name, t2.Date, t2.Name, t2.Value FROM t1, t2 WHERE t2.Date >='".$start."' ORDER BY `Date` DESC 
    if($res){ 
      while($row=mysql_fetch_array($res, MYSQL_ASSOC)){ 
       if(!isset($rez[$row['Name']]['last'])){$rez[$row['Name']]['last']=$row['Value'];} 
       if(!isset($rez[$row['Name']]['country'])){$rez[$row['Name']]['country']=$row['Country'];} 
       $rez[$row['Name']][$row['Date']]=$row['Value']; 
      } 
     } 
+0

Я предполагаю, что вы действительно не пытаетесь выполнить свой SQL-запрос непосредственно в php, правильно? –

+0

Я использую mysql_query ("select ..."); конечно – mogican

ответ

0

Вам необходимо условие в запросе, чтобы связать две таблицы:

SELECT t1.Country, t1.Name, t2.Date as Date, t2.Name, t2.Value FROM t1, t2 WHERE t1.Name LIKE t2.Name AND t2.Date >='".$start."' ORDER BY `Date` DESC 

Примечание вы не можете заказать по Date если вы псевдоним t2.Date как Date, поэтому я установил ТНА t тоже.

+0

Хм ... Он работает! Чем ты, друг! (я не могу голосовать, потому что не нуждался в репутации) – mogican

+0

Вперед и ответьте на этот ответ. Благодаря! –

+0

Как я могу отметить его? Я не вижу ни одной кнопки или ссылок для этого – mogican

Смежные вопросы