2016-10-03 5 views
0

後、私はこのコードMySQLのUNION

$query = mysqli_query($con, "SELECT id, dateAdded as date FROM table1 UNION SELECT id, dateSeen as date FROM table2 ORDER BY date DESC"); 
While($sql = mysqli_fetch_array($query)){ 
    $id = $sql['id']; 
} 

を持つ特定のテーブルを識別方法を私は$idが発信されたテーブルから検出することができますしてください。出力された場合たとえば、私は関数を使用して、それぞれ別のテーブルから取得する他の情報、例

$title = table_query('title', $table, $id); 
$name = table_query('name', $table, $id); 
を持っているので、各 idから来たテーブルからこの

1, 2, 1, 3, 2, 4, 3, 4, 5, 6 

、どのように、私が知ることができるような何かを得ます

+0

ユニオンでは、どの行が選択されたのか分かりません。しかし、それが来たテーブルを特定できる定数フィールドを追加することはできます。 'SELECT "table1" fromtable、id、dateAdded from date FROM table1 UNION SELECT "table2"、id、dateSeenとして日付fromテーブル2 ORDER BY日付DESC'。それは数字でもあります。 – Rik

答えて

0

本当にこれを行うことはできません。 |クエリごとに

$query = mysqli_query($con, "SELECT id, dateAdded as date, 'table1' AS tblname FROM table1 UNION SELECT id, dateSeen as date, 'table2' AS tblname FROM table2 ORDER BY date DESC"); 
while($sql = mysqli_fetch_array($query)){ 
    $id = $sql['id']; 
    $tbl = $sql['tblname']; // this variable will store the name of the table. 
} 

、文字列table1:何ができることはあなたのクエリでデータを追加することですtable2が3列目として追加され、コード内で使用することができます。