0

Ok。したがって、複数のフィールドとセクションを含むjos_sobi2_fields_dataというテーブルがあります。たとえば、fid = 36のbaseDateには「Names」が含まれ、fid = 39のbaseDataには「Addresses」が含まれます。jos_sobi2_fields_dataからデータを選択し、名前を1つの列に、アドレスを1つの横に配置するクエリを作成する必要があります。それ。これまでに試しました

Select baseDate 
from jos_sobi2_fields_data 
WHERE fid=36 
and section = 54; 
UNION ALL 
Select baseData 
from jos_sobi2_fields_data 
WHERE fid=39 
AND section = 54;

しかし、これをクエリすると、最初にfid = 36のbaseDataが一覧表示され、次にその下にfid=39のbaseDataが一覧表示されます。では、どうすれば2つを別々の列に分けて並べて表示できますか?

PSこのセクションは、ある特定のWebサイトからの情報に関するものであるため、別のWebサイトはセクション=52である可能性があります。

4

1 に答える 1

2

結合を使用する必要があります...次のようなものかもしれません:

SELECT jsfdName.baseData AS Name, jsfdAddr.baseData as Address
FROM jos_sobi2_fields_data AS jsfdName
JOIN jos_sobi2_fields_data AS jsfdAddr USING( section, sid )
WHERE jsfdName.fid = 36 AND jsfdAddr.fid = 39
    AND section = <section>

<section>セクション番号(またはプリペアドステートメントのプレースホルダー、さらに良い)に置き換えます。

于 2012-04-12T21:12:14.850 に答える