0

2つの異なるクエリからデータを取得するためのJavaScript関数に苦労しています。関数で区切られたクエリを実行すると、2番目のクエリの最初のクエリから最後の結果のみが取得されます。関数が正しく実行されるように、2つのクエリをサブクエリする必要があるという結論に達しました。

両方のクエリは次のとおりです(popt.products_options_id = prodOpId):

tx.executeSql('
SELECT DISTINCT
popt.products_options_id, 
popt.products_options_name 
FROM
products_options popt, 
products_attributes patrib 
WHERE
patrib.products_id="1" 
AND
patrib.options_id = popt.products_options_id 
AND
popt.language_id = "1"  
ORDER BY 
popt.products_options_name',
[], function (tx, results) {


tx.executeSql('
SELECT
pov.products_options_values_id,
pov.products_options_values_name, 
patrib.options_values_price, 
patrib.price_prefix 
FROM
products_attributes patrib, 
products_options_values pov 
WHERE
patrib.products_id = "1" 
AND
patrib.options_id ='+ prodOpId + ' 
AND
patrib.options_values_id = pov.products_options_values_id 
AND
pov.language_id = "1"', 
[], function (tx, results) {
4

1 に答える 1

0

私は現在のクエリで私の問題を修正しました:

tx.executeSql('
SELECT 
popt.products_options_id, 
popt.products_options_name,
pov.products_options_values_id, 
pov.products_options_values_name, 
patrib.options_values_price,
patrib.price_prefix 

FROM
products_options popt, 
products_attributes patrib, 
products_options_values pov 

WHERE 
patrib.products_id="1"

AND 
patrib.options_id = popt.products_options_id 

AND 
patrib.options_values_id = pov.products_options_values_id

AND 
popt.language_id = "1"

ORDER BY 
popt.products_options_name',

[], function (tx, results) {
于 2011-09-18T19:05:47.433 に答える