0
選択クエリとして正しい結果を返すクエリがありますが、ビューとして使用するとビューが作成されますが、ビューを参照すると「サブクエリは1行"。クエリは、 "my_postmeta_table"テーブルのフィールド "meta_key"をとり、現在の行の "meta_value"フィールドのカラム名にします。クエリでは選択できますが、ビューとしては表示されません。
:post_id key1 key2
1 val1 val2
2 val3 val4
これはクエリです:
post_id meta_key meta_value
1 key1 val1
1 key2 val2
2 key1 val3
2 key2 val4
選択クエリは次のようになりますresaultsを返します。これはテーブルの上にフォーマットが
である:それはこのような何かを作ります
create or REPLACE view contacts2 as select
post_id pid,
post_date Date,
(SELECT meta_value from my_postmeta_table where meta_key="contact_country" and post_id=pid) AS "Country",
(SELECT meta_value from my_postmeta_table where meta_key="contact_usa_states" and post_id=pid) AS "USA State",
(SELECT meta_value from my_postmeta_table where meta_key="contact_subject" and post_id=pid) AS "Subject",
(SELECT meta_value from my_postmeta_table where meta_key="contact_first_name" and post_id=pid) AS "First Name",
(SELECT meta_value from my_postmeta_table where meta_key="contact_last_name" and post_id=pid) AS "Last Name",
(SELECT meta_value from my_postmeta_table where meta_key="contact_company" and post_id=pid) AS "Company",
(SELECT meta_value from my_postmeta_table where meta_key="contact_position" and post_id=pid) AS "Position",
(SELECT meta_value from my_postmeta_table where meta_key="contact_email" and post_id=pid) AS "Email",
(SELECT meta_value from my_postmeta_table where meta_key="contact_message" and post_id=pid) AS "Message"
from my_postmeta_table, my_posts_table where my_posts_table.ID=my_postmeta_table.post_id and my_posts_table.post_type="contact" GROUP by post_id;
so ...上記のコードから「作成または置換するcontacts2を作成する」を省略すると、gooが返されますd resaults。あなたはすべてのサブクエリが唯一の1レコードを返すことが予想される場合
は、単に各サブクエリの終わりにlimit 1
を追加し、あなた
https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- sql-query – Strawberry
すべてのサブクエリに1を加えてみてください。 – Shadow
1.あなたは明確ではありません。 「正しい結果をもたらす」とはどういう意味ですか?または「ビューとして使用する」?または「閲覧を閲覧する」、または「良い結果」を表示しますか?あなたがやっていることを説明するために言葉を使うだけでなく、上の最初のコメントごとに[mcve]ごとに正確に状況を説明してください。 2. [SELECTをGROUP BY、MySQLのONLY_FULL_GROUP_BY](https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html)の適切な使い方について読んでください。 GROUP BY列にないかGROUP BY列ごとに単一値でない場合は、集計外のSELECTで列を使用しないでください。 – philipxy