私は今多くの試みがありましたが、本当に役立つものはありません。 私は柔軟なビューを作成することはできません(可能な場合)。 2つのタブの結果。ここ は私がwanntものです:Mysql SQLクエリから柔軟なビューを作成
表ビジター:
id vID First Name Last Name Company E-Mail Phone Salutation Type
1 1 Hans Wurst WDHUWDHUGMBGH [email protected] 123123 Mr qwes
:
ID Hash created
1 sadasdasdasd 2017-02-24 08:31:37
2 123kipdösas3 2017-02-24 08:31:37
3 12oaskdasdap 2017-02-24 08:31:37
4 asdauihsuahs 2017-02-24 08:31:37
表VisitorData私は私のテーブル(ビュー)をwannt最後に
id vID type value created
1 1 First Name Hans 2017-02-24 09:15:11
2 1 Last Name Wurst 2017-02-24 09:15:11
3 1 Company WDHUWDHUGMBGH 2017-02-24 09:15:11
4 1 E-Mail [email protected] 2017-02-24 09:15:11
5 1 Phone 123123 2017-02-24 09:15:11
6 1 Salutation Mr 2017-02-24 09:15:11
7 1 Type qwes 2017-02-24 09:15:11
ようになり
実際には、VisitorData.typeに何があるのかわかりません。 だから、僕は
CREATE VIEW DataVisitorView AS
SELECT DataVisitor.id, DataVisitor.hash,
IF(DataVisitorValues.Type='First Name',DataVisitorValues.Value,null) AS First Name,
IF(DataVisitorValues.Type='Last Name',DataVisitorValues.Value,null) AS Last Name ,
IF(DataVisitorValues.Type=' Company ',DataVisitorValues.Value,null) AS Company ,
IF(DataVisitorValues.Type='E-Mail',DataVisitorValues.Value,null) AS E-Mail,
IF(DataVisitorValues.Type='Phone ',DataVisitorValues.Value,null) AS Phone ,
IF(DataVisitorValues.Type='Salutation ',DataVisitorValues.Value,null) AS Salutation
FROM `DataVisitor`
LEFT JOIN `DataVisitorValues`
ON `DataVisitor`.`id` = `DataVisitorValues`.`vID`
ので、私はこの
CREATE VIEW `DataVisitorView` AS
SELECT
DataVisitorValues2.typ
FROM (`DataVisitor2`
LEFT JOIN `DataVisitorValues2`
ON `DataVisitor2`.`id` = `DataVisitorValues2`.`vID`)
Where `DataVisitor2`.`id` = `DataVisitorValues2`.`vID`
についてもっと考えていたんカントが、それはば完全に間違っている私は
|typ|
First Name
Last Name
Company
...
でテーブルを取得し、これは、このための任意の解決策があります? 私は仕事のためにPhpを使用しましたが、テーブルは自動的に更新され、文字列ジョブは何も役に立ちません
列のリストを作成するには、列VisitorData.typeに何が含まれているかを知る必要があります。ビューが必要な場合は、ビューを作成する時点で固定されます。ビューではなく、プロシージャを使用して結果セットを作成することができます。 –
訪問者ごとにvisitordataの行数が異なる可能性があり、type列のテキストは自由形式ですか? –
@ p.Salmon新しいフォームが追加され、「新しい」タイプの名前を持つ場合、テーブル訪問者のデータは20以上のフォームの値を取得しますが、クエリを動的にする必要がないので、毎回SQLクエリを変更する必要はありません。 –