ネストされた SQL クエリからデータを取得できません
P粉594941301
P粉594941301 2024-04-03 15:44:01
0
1
453

rree

上記のコードの最初のクエリでは、jobs テーブルからすべての行を取得します。 2 番目のネストされたクエリでは、最初のクエリで返された jobsID ごとに shift テーブルからすべての行を取得しようとしています。しかし、データは得られません。データは存在しており、データが返されるはずですが、データを取得できません。ここで私は何を間違っているのでしょうか?助けてください!

P粉594941301
P粉594941301

全員に返信(1)
P粉979586159

データがどのように返されるか、および 2 番目のクエリがどのように機能するかについて誤解があると思います。あなたによると: ###

複数の行が返されます。したがって、最初のクエリは機能します。ただし、複数の行を取得すると、

rowssarray になります。したがって、次のクエリの入力として使用される rowss.jobsID は配列の正しい使用法ではありません。その式の値を unknown にしたいのですが、これにより 2 番目のクエリが実行されます。コンテンツは返されません。

これを証明するには、次のように

console.log(rowss) を追加します。 リーリー この問題を解決するには、sql 関数を使用して

join

を発行することをお勧めします。これにより、データベースは 2 つのテーブルを結合し、where 条件を満たす行のみを返します。結合されたステートメントは次のようになります: リーリー ヒント:

ob's

および shift のデータベース スキーマによっては、* を展開して、## などのすべてのテーブル名を明示的にリストする必要がある場合があります。 #SELECT jobs.jobsID、jobs.<xyz>、shift.isBooked、shift.fk_job [...] FROM [...]。両方のテーブルに同じ名前の列がある場合、SELECT [...] シフトのように列を結合して結果を返すときに、join によって引き起こされる競合を解決する必要がある場合があります。 &lt ;xyz> として、shift_xyz [. ..]from...[] 追加のボーナスとして、必要な SQL クエリは 2 つではなく 1 つだけです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート