私は把握できず、ナットを運転しているという問題があります。サブクエリとユーザ変数
私は値
SELECT
IF([email protected],'',@lastFamily:=qry.pFamily) AS family,
IF([email protected],'',@lastSubFamily:=qry.pSubFamily) AS subFamily,
qry.pUid AS qUID,
qry.pPlu AS qPLU,
qry.pDescription AS qDesc,
replace(round(qry.pSalesPrice/100,2),'.',',') as pPrice
FROM (
SELECT
@lastFamily ='',
@lastSubFamily ='',
IF(sf.RecordDeleted=0,
SUBSTR(concat(f.description,"\n"),1,20),
SUBSTR(concat("Sem familia\n"),1,20)) AS pFamily,
IF(sf.RecordDeleted=0,
SUBSTR(concat(" ",sf.description,"\n"),1,30),
SUBSTR(concat(""),1,30))
AS pSubFamily,
p.ItemID AS pUid,
IF(p.ProductLookUp IS NULL,'0',p.ProductLookUp) AS pPlu,
SUBSTR(p.ShortDescription1,1,20) AS pDescription,
SUBSTR(prop.SalesPrice1,1,10) AS pSalesPrice
FROM plus p
INNER JOIN properties prop on p.PropertyUID = prop.uid
INNER JOIN families f on p.FamilyID = f.UID
INNER JOIN subFamilies sf on p.SubFamilyID = sF.UID
WHERE p.RecordDeleted=0
ORDER BY pFamily, pSubFamily,pDescription
) AS qry;
lastFamily変数の使用の背後にある考え方とlastSubFamilyの一部を再フォーマットするために変数を使用するサブクエリでクエリをやっているが、クリーンを取得するために繰り返されるテキストを置き換えることです、結果セットを使用する準備ができました。私は
'Bebida', ' Agua', '22', ?, '1/4 Castelo', ?
'Bebida', ' Agua', '23', ?, 'Agua 0.33cl', ?
'Bebida', ' Agua', '24', ?, 'Agua 0.50cl', ?
'Bebida', ' Agua', '25', ?, 'Agua 1.5l', ?
'Bebida', ' Agua', '26', ?, 'Agua c/Sabor', ?
'Bebida', ' Agua', '27', ?, 'Agua Gás', ?
'Bebida', ' Alcoolica', '1', ?, 'Alianca Velha', ?
(etc...)
を取得する最初の実行で
が、私は私が望む結果を得るクエリ
'Bebida', ' Agua', '22', ?, '1/4 Castelo', ?
'', ' ', '23', ?, 'Agua 0.33cl', ?
'', ' ', '24', ?, 'Agua 0.50cl', ?
'', ' ', '25', ?, 'Agua 1.5l', ?
'', ' ', '26', ?, 'Agua c/Sabor', ?
'', ' ', '27', ?, 'Agua Gás', ?
'', ' Alcoolica', '1', ?, 'Alianca Velha', ?
(etc...)
を実行して二回目は、ここに私の質問は、私はlastFamily初期化します(どこ)かで、それらが最初の実行で設定されるようにlastSubFamily。
私は新しいmysqlセッションを開始するたびにこれが起こり、それは起こりません。だから私は変数がどこかに格納されていると思います。キャッシュをクリーニングしてテーブルをフラッシュしようとしましたが、結果は同じです。
アイデア?
乾杯
変数を使用しているかどうかわかりません。あなたのデータモデルはどのように見えますか?これらの変数を使用せずに結果を得ることができるでしょう... –
基本的には、最初の牽引列のテキストが繰り返されているかどうかを確認するために、メインクエリでテキストを解析しています。それが繰り返されると空のテキストに置き換えられます。私は2つの変数を比較するテキストを保持します。 –