これに関する知識が不足しています。私はPHPとMySQLのクエリに限られた経験があります。私はいくつかの基本的な質問をすることができますが、これは私が私を混乱させるものを修正する必要があるものです。MySQL Distinct Inner Join
賞を授与された製品のすべてのデータを取得するクエリがあります。ただし、1つの商品に複数の特典がある場合、その商品は複数回表示されます。理想的には、私は一度その製品を見せたいと思う。
私はDISTINCTまたはUNIQUEの値をクエリに適用しようとしますが、クエリの構築方法は何もしていないようです。
元のクエリは次のようになります。
<?php
$get_awards = $wpdb->get_results("
SELECT *
FROM wp_posts
WHERE post_type = 'award'
AND post_status = 'publish'
AND YEAR(CAST(post_date AS DATE))=2009
GROUP
BY post_title
ORDER
BY post_date DESC
");
foreach ($get_awards as $award) {
$get_products = $wpdb->get_results("SELECT * FROM wp_posts INNER JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id WHERE post_type = 'ice-cream' AND post_status = 'publish' AND meta_key = 'awards' AND meta_value LIKE '%''".$award->ID."''%' OR post_type = 'frozen-yoghurt' AND post_status = 'publish' AND meta_key = 'awards' AND meta_value LIKE '%''".$award->ID."''%' OR post_type = 'sorbet' AND post_status = 'publish' AND meta_key = 'awards' AND meta_value LIKE '%''".$award->ID."''%'");
foreach ($get_products as $product) { ?>
私はSELECT DISTINCTなどが、喜びのためにSELECT *を変更するいくつかのバージョンを試してみました。誰かが私にいくつかのポインタをお願いしてくれますか?
のような選択を使用する必要があり、COL1 COL2、およびCOL3です。それは良いことではありません。あなたは1だけ必要です!今のところPHPについては忘れてください。http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-を参照してください。非常に単純なSQLクエリ – Strawberry
あなたが持っているクエリは、完全な混乱、btwです。申し訳ありませんが、最初からやり直す必要があります – Strawberry
フィードバックをいただきありがとうございます。コードを継承し、私が理解していないことを修正する必要がある状況に遭遇しました。 – Meadsy