2016-05-14 2 views
0

サブクエリは親クエリとサブクエリの前に実行されます。親クエリには結果が返されますが、親クエリはサブクエリの結果を使用します。 enter image description hereExplainサブクエリなし親クエリ

$sth = $conn->query(
    "SELECT tab.AttDate AS Salman,(SELECT COUNT(*) FROM attendence_info WHERE AttStatus='P' AND AttDate=Salman) AS Monu, 
    (SELECT COUNT(*) FROM attendence_info WHERE AttStatus='A' AND AttDate=Salman) AS Janu FROM attendence_info AS tab GROUP BY tab.AttDate" 
); 
+0

あなたが探しているものが明確ではありません.. – scaisEdge

+0

サブクエリが実行されます親クエリの前にありますが、ここではサブクエリは親クエリ選択項目(tab.AttDate)を使用しています。サブクエリが最初に実行される場合、tab.AttDateにはどのようにvalue ....... ?? –

+1

前と後のSQLで適切ではない..あなたは、理論のセットの理論の中で考える。とにかく私は答えを投稿している..あなたのコードは私に間違っているので.. – scaisEdge

答えて

0

あなたがクエリtab.AttDAteとattData = Salmanにアクセスするクエリを形成している方法では、互いに独立しています..どのような場合でも、値の一致が可能な場合あなたはomogeneusの行動を持っています。

+0

私のクエリは正常に実行されますが、 –

0
$sth = $conn->query(
    "SELECT tab.AttDate AS Salman,(SELECT COUNT(*) FROM attendence_info WHERE AttStatus='P' AND AttDate=Salman) AS Monu, 
    (SELECT COUNT(*) FROM attendence_info WHERE AttStatus='A' AND AttDate=Salman) AS Janu FROM attendence_info AS tab GROUP BY tab.AttDate" 
);

親クエリとAttQuateサブクエリのtab.AttDateは同じattendence_infoテーブルから来ます。 tab.AttDateは別のものにするためのエイリアスですが、どちらも同じ列の値を含んでいます.... サブクエリはtab.AttDateを使用することができます

関連する問題