-1

複数のサブクエリを使用する際に特定の問題があります。

このようなものはありますか?

私の現在のクエリ:

SELECT A.category_one as cat1, B.category_two as cat2, C.category_three as cat3
FROM table1
(SELECT name FROM table1 WHERE user_id ='32') A
(SELECT age FROM table1 WHERE age='12') B
(SELECT gender FROM table1 WHERE user_id ='32') C
WHERE ticket_id='12'

したがって、PHPで結果をフェッチすると、次のようなデータをエコーできます

foreach ($result as $value) {
   echo $value['cat1'] . ' ' . $value['cat2'] . ' ' . $value['cat3'] . "<br>";
}

クエリは正しかったですか?そうでない場合、それを行う正しい方法は何ですか?

どんな助けでも大歓迎です。:)

4

2 に答える 2

0

の小さな改善が必要です

(SELECT name FROM table1 WHERE user_id ='32') A
(SELECT gender FROM table1 WHERE user_id ='32') C

(SELECT name,gender FROM table1 WHERE user_id='32')A 

AとCのwhere句は同じなので、「C.category_three as cat3」を「A.category_three as cat3」に戻してください

于 2013-06-28T01:29:07.623 に答える
0

SQL と質問は、次の点で整形式ではありません。

1) SQL に構文エラーがあります (例: サブクエリ間のカンマの欠落)。絶対に行き詰まっていない限り、最初にそれらを修正する必要があります (たとえば、SQLFiddle で)。クエリは非常に単純なので、問題にはなりません。

2) JOIN 情報を一切提供していません。それがない場合、これらのクエリの結果の外積が得られます。それぞれが正確に 1 行を返す場合は、正確に 1 行の出力が得られるので問題ありません。ただし、forループで複数の行が返されることを期待していることを暗示しているため、おそらくそうではありません。JOIN の概念に慣れていない場合は、先に進む前にそれについて学習する必要があります。

3)他の人が指摘したように、入力データと出力結果のサンプルを提供していません。それは常に良い考えであり、ここでの場合のように明確な英語の説明がないことを考えると、絶対に必要です.

于 2013-06-28T01:37:43.143 に答える