私の質問を読んでくれてありがとう。私は1日半の間これに行ってきましたが、これはうまくいくようです。私がしようとしているのは、2つのSQLクエリを結合することです。2つのSQLクエリを組み合わせるPHP
データベースへの接続が正しくセットアップされます。これはすべて動作しています。だから私は結合しようとしているクエリは、次のとおりです。
$sql = "SELECT * FROM pf_posts WHERE post_type = 'cases' ";
$result = $conn->query($sql);
foreach ($result as $row) {
// do my stuff
}
$conn->close();
$sql = "SELECT * FROM pf_postmeta WHERE meta_key = '_wp_attached_file' ";
$result = $conn->query($sql);
foreach ($result as $row) {
// do my stuff
}
$conn->close();
そして
は今、私は約JOIN
と
UNION
を読んだが、私は2つのクエリが一緒に動作させることはできません。
私は無駄にUNION ALL
を使用して試してみました。
$sql = "SELECT *FROM pf_postmeta WHERE meta_key = '_wp_attached_file'
UNION ALL
SELECT *FROM pf_posts WHERE post_type = 'cases'";
$result = $conn->query($sql);
foreach ($result as $row) {
// do stuff
}
$conn->close();
これは何も表示されません。
私がUNION ALL SELECT
部分を削除した場合、私のクエリが機能します。私はMySQLWorkbench
でこのコードを実行する場合、それは
09:07:30 SELECT * FROM deb100651n2_pf.pf_posts WHERE post_type='cases' UNION ALL SELECT * FROM deb100651n2_pf.pf_postmeta WHERE meta_key = '_wp_attached_file' Error Code: 1222. The used SELECT statements have a different number of columns 0.050 sec
のを言う私に、フォームのソリューションを持っている人はいますか?お時間を
再度のおかげで:これは(私は、全体のSQLの事にはかなり新しいですので、優しくしてください...注意してください)...過去1,5日のために
私を盗聴されています...
UNIONクエリでどのようなエラーが発生しているかを確認するために、エラー出力を確認しましたか?それは始めるのに適しているだろう。 –
デバッグの「出力」を取得する方法を教えてください。私は質問を更新して喜んでされます。 –
PHPでこれらを実行するのではなく、MySQL WorkbenchまたはPHPMyAdminで実行する方がよい場合があります。エラーがあるかどうかを確認できます。あなたのスキーマを見ることなく、あなたを助けてくれることはありません。 JOINは2つのテーブルの間に関係がある場合にのみ動作します – Alex