質問

Group_Concatを使用してすべての人を特定の注文に添付するSQLクエリがあります。 Group_concatフィールド内で検索できる方法はありますか?

SELECT orders.orderID, 
GROUP_CONCAT(contacts.firstName, " ", contacts.lastName) AS attachedContacts
FROM (orders)
JOIN contacts ON orders.contactID=contacts.contactID
GROUP BY orders.orderID
ORDER BY orders.orderID DESC

次のようなものを追加したいです WHERE attachedContacts LIKE '%Eric%', 、「Eric」が添付された注文のみをリストしますが、クエリに他のすべての連絡先を含めます。

クエリは次のようなデータを返します。

orderID atachedContacts
01      Eric Siegel, John Smith
02      Jason Jackson, Bill O'Neil
03      Eric Siegel, Jason Jackson, Neil O'Ryan

「エリック」が連絡先リストにあるため、クエリを行01と03を返したいと思います。

これどうやってするの?

役に立ちましたか?

解決

これを試して:

SELECT orders.orderID, 
GROUP_CONCAT(contacts.firstName, " ", contacts.lastName) AS attachedContacts
FROM orders
JOIN contacts ON orders.contactID=contacts.contactID
GROUP BY orders.orderID DESC
HAVING attachedContacts LIKE '%Eric%'
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top