php
  • mysql
  • sql
  • union
  • 2011-10-25 52 views 0 likes 
    0

    我使用mysql_fetch_array()要做到這一點,並通過phpmyadmin測試我的查詢分開上的SQL工會值。而且,正如我以爲他們都在同一排,是否可以使用mysql fetch array()來做到這一點?如何通過PHP

    這裏是我的代碼:

    $sql="SELECT xml FROM g2s_api_logs WHERE functioncode='MQX' AND cardnumber= '$cardnumber' AND   
          direction='out' AND date(datetime)='$date' AND time(datetime)='$time' UNION SELECT xml FROM 
          g2s_api_logs WHERE functioncode='MQX' AND cardnumber= '$cardnumber' AND direction='in' AND 
          date(datetime)='$date' AND time(datetime)='$time' "; 
          $query= mysql_query($sql)or die(mysql_error().$sql); 
          $array=mysql_fetch_array($query,MYSQL_ASSOC); 
          $result= htmlspecialchars($array['?']); 
          $response=htmlspecialchars($array['?']); 
          mysql_close(); 
    

    請忽略問號;我不知道該怎麼投入。我運行這個使用phpMyAdmin,它的工作。不過,我想將他們的結果分開顯示。即使他們在同一行中,我也可以這樣做嗎?有沒有像抓取列這樣的東西?

    回答

    5

    如果你有這樣的查詢:

    select * from X where ... 
    union 
    select * from Y where ... 
    

    ,你想知道如果一個特定的行X或Y來了,那麼你就可以一個字面值添加到SELECT子句來區分它們:

    select 'X' as came_from, * from X where ... 
    union all 
    select 'Y' as came_from, * from Y where ... 
    

    只要列名/別名和類型匹配UNION就會滿意這種事情。

    相關問題