rree
上記のコードの最初のクエリでは、jobs テーブルからすべての行を取得します。 2 番目のネストされたクエリでは、最初のクエリで返された jobsID ごとに shift テーブルからすべての行を取得しようとしています。しかし、データは得られません。データは存在しており、データが返されるはずですが、データを取得できません。ここで私は何を間違っているのでしょうか?助けてください!
jobs
jobsID
shift
データがどのように返されるか、および 2 番目のクエリがどのように機能するかについて誤解があると思います。あなたによると: ###
rowss が array になります。したがって、次のクエリの入力として使用される rowss.jobsID は配列の正しい使用法ではありません。その式の値を unknown にしたいのですが、これにより 2 番目のクエリが実行されます。コンテンツは返されません。
が
になります。したがって、次のクエリの入力として使用される
は配列の正しい使用法ではありません。その式の値を
にしたいのですが、これにより 2 番目のクエリが実行されます。コンテンツは返されません。
console.log(rowss) を追加します。 リーリー この問題を解決するには、sql 関数を使用して
を追加します。 リーリー
を発行することをお勧めします。これにより、データベースは 2 つのテーブルを結合し、where 条件を満たす行のみを返します。結合されたステートメントは次のようになります: リーリー ヒント:
where
リーリー
および shift のデータベース スキーマによっては、* を展開して、## などのすべてのテーブル名を明示的にリストする必要がある場合があります。 #SELECT jobs.jobsID、jobs.<xyz>、shift.isBooked、shift.fk_job [...] FROM [...]。両方のテーブルに同じ名前の列がある場合、SELECT [...] シフトのように列を結合して結果を返すときに、join によって引き起こされる競合を解決する必要がある場合があります。 < ;xyz> として、shift_xyz [. ..]from...[]。 追加のボーナスとして、必要な SQL クエリは 2 つではなく 1 つだけです。
*
。両方のテーブルに同じ名前の列がある場合、
join
。
追加のボーナスとして、必要な SQL クエリは 2 つではなく 1 つだけです。
データがどのように返されるか、および 2 番目のクエリがどのように機能するかについて誤解があると思います。あなたによると: ###
複数の行が返されます。したがって、最初のクエリは機能します。ただし、複数の行を取得すると、rowss
これを証明するには、次のようにが
arrayになります。したがって、次のクエリの入力として使用される
rowss.jobsIDは配列の正しい使用法ではありません。その式の値を
unknownにしたいのですが、これにより 2 番目のクエリが実行されます。コンテンツは返されません。
console.log(rowss)
joinを追加します。 リーリー
この問題を解決するには、sql 関数を使用してを発行することをお勧めします。これにより、データベースは 2 つのテーブルを結合し、
ob'swhere
条件を満たす行のみを返します。結合されたステートメントは次のようになります:リーリー
ヒント:および
shift
のデータベース スキーマによっては、*
を展開して、## などのすべてのテーブル名を明示的にリストする必要がある場合があります。 #SELECT jobs.jobsID、jobs.<xyz>、shift.isBooked、shift.fk_job [...] FROM [...]。両方のテーブルに同じ名前の列がある場合、
SELECT [...] シフトのように列を結合して結果を返すときに、join
によって引き起こされる競合を解決する必要がある場合があります。 < ;xyz> として、shift_xyz [. ..]from...[]。
追加のボーナスとして、必要な SQL クエリは 2 つではなく 1 つだけです。