私は最初に配列を作成してからもう一方をループする2つのクエリではなく、1つのクエリを取得しようとしています。 ...mysql where他のクエリに基づく節
最初のクエリは、ユーザーのセットを返し、その後、私はこれで終わった研究のビットと、これらのユーザーに基づいて、別のテーブルを照会したいが、それは動作しません
SELECT FreeText, (
SELECT EmailAddress FROM customers WHERE AccessLevel = 'callcentre'
) AS User FROM orders WHERE FreeText = User
私は単一のクエリを行うことを好むだろうが、可能ではないthatsのは、私は2番目の
任意の助けをループ最初に作成し、アレイでそれを回避するかどうかは
例の結果を高く評価し、ユーザーは名前が含まれます、例えばLSMITH、nrowe、pmerle
そしてそれらはこのため
customers table
Id, Email, Add1, Add2 ect...
23, lsmith, someaddress, road...
Orders
Id, customerId, FreeTxt, Product
54, 23, lsmith, mob
出力は注文から+イドLSMITHあろうFreeTxt
例のテーブル構造として設定されている順序行をretrurnなる第二のクエリIのみ
に参加するが、本当にorders.FreeText = customers.EmailAddressていることを確認するサブクエリを使用すると、内部で同じことを行うことができます必要はありません
サンプルデータと予想される出力を持つテーブル構造を転記できますか? –
セキュリティ上の理由から私はあまり多くを明らかにすることはできません –
あなたはもっと何かを明らかにする必要があるか、解決策が何であるかしか推測できません。おそらく 'JOIN'を含むかもしれませんが、私たちが言うことができないものにはおそらく含まれます。必要に応じて、列の名前をより一般的なものに変更します。とにかくそれは通常より良いです、それは質問をより広く適用可能にします。 – tadman